home *** CD-ROM | disk | FTP | other *** search
/ CD Ware Multimedia 1995 May / cd Ware (Juegos) Epimundo.iso / WIN / VB_DB / VBDB.ZIP / VBDB.BAS < prev    next >
Westwood Font  |  1991-07-05  |  19.2 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was processed as: Westwood Font (font/westwoodFont).
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert GW-BASIC (document/gwBasic) ext Supported
66% dexvert GFA-BASIC Atari (other/gfaBASICAtari) ext Supported
1% dexvert Memotech MTX BASIC source (document/memotechMTXBASICSource) ext Unsupported
1% dexvert Westwood Font (font/westwoodFont) magic Unsupported
1% dexvert Amiga BASIC Protected File (other/amigaBASICProtectedFile) ext Unsupported
1% dexvert BAS VBDOS Pro 1.0 Source (other/basVBDOSPro10Source) ext Unsupported
1% dexvert Visual Basic Tokenized Source (other/visualBasicTokenizedSource) ext Unsupported
1% dexvert ZBASIC (other/zbasic) ext Unsupported
100% file data default
100% TrID Westwood Font Format (v4) default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| fc 01 02 00 0e 00 1e 01 | 1e 01 08 00 01 02 03 04 |........|........|
|00000010| 06 05 08 0a 00 90 d4 04 | 08 07 00 00 1a 00 8a 05 |........|........|
|00000020| 5a 00 a2 00 74 00 c9 00 | 2a 01 05 03 a4 01 40 01 |Z...t...|*.....@.|
|00000030| b5 00 7f 00 ad 00 70 01 | fa 00 f3 00 99 01 db 05 |......p.|........|
|00000040| 50 03 35 01 1f 01 98 00 | 00 00 9e 02 5e 01 e4 00 |P.5.....|....^...|
|00000050| be 01 5f 00 2f 02 d9 01 | 4c 01 a5 02 81 01 00 00 |.._./...|L.......|
|00000060| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 08 07 00 00 cf 03 00 01 | 61 64 00 00 01 7a d8 00 |........|ad...z..|
|00000080| 40 0c 4f 70 65 6e 44 61 | 74 61 42 61 73 65 12 01 |@.OpenDa|taBase..|
|00000090| 80 07 44 42 46 4e 61 6d | 65 87 00 80 04 46 69 6c |..DBFNam|e....Fil|
|000000a0| 65 05 01 00 0d 43 6c 6f | 73 65 44 61 74 61 42 61 |e....Clo|seDataBa|
|000000b0| 73 65 e4 03 80 06 53 74 | 61 74 75 73 be 00 00 07 |se....St|atus....|
|000000c0| 69 6e 63 6c 75 64 65 8c | 01 00 04 54 72 69 6d e3 |include.|...Trim.|
|000000d0| 01 00 05 45 78 69 73 74 | 1b 02 00 07 46 69 6c 65 |...Exist|....File|
|000000e0| 4e 75 6d 56 01 00 0b 53 | 65 74 4d 61 78 45 72 72 |NumV...S|etMaxErr|
|000000f0| 6f 72 47 03 00 08 4f 70 | 65 6e 46 69 6c 65 01 02 |orG...Op|enFile..|
|00000100| 40 0b 43 68 65 63 6b 46 | 69 65 6c 64 73 bf 02 80 |@.CheckF|ields...|
|00000110| 03 46 6c 64 67 01 80 07 | 44 65 63 69 6d 61 6c 25 |.Fldg...|Decimal%|
|00000120| 02 00 09 43 6c 6f 73 65 | 46 69 6c 65 7c 01 80 09 |...Close|File|...|
|00000130| 44 42 46 48 61 6e 64 6c | 65 eb 03 04 07 45 72 72 |DBFHandl|e....Err|
|00000140| 48 61 6e 64 c6 01 40 07 | 46 6c 64 49 6e 66 6f f5 |Hand..@.|FldInfo.|
|00000150| 01 80 07 52 65 63 53 69 | 7a 65 8c 02 80 08 48 65 |...RecSi|ze....He|
|00000160| 61 64 53 69 7a 65 2e 03 | 80 06 4f 66 66 53 65 74 |adSize..|..OffSet|
|00000170| 11 02 00 04 46 4c 65 6e | 44 05 00 05 46 54 79 70 |....FLen|D...FTyp|
|00000180| 65 00 00 00 05 46 4e 61 | 6d 65 3d 02 00 08 70 6f |e....FNa|me=...po|
|00000190| 72 74 69 6f 6e 73 af 03 | 00 01 43 b3 01 00 07 4d |rtions..|..C....M|
|000001a0| 61 72 71 75 69 73 20 04 | 00 09 43 6f 6d 70 75 74 |arquis .|..Comput|
|000001b0| 69 6e 67 06 02 80 07 66 | 6c 64 74 79 70 65 16 04 |ing....f|ldtype..|
|000001c0| 40 0b 47 65 74 48 65 61 | 64 53 69 7a 65 eb 01 80 |@.GetHea|dSize...|
|000001d0| 07 4d 61 78 46 6c 64 73 | f9 02 80 04 46 6c 64 73 |.MaxFlds|....Flds|
|000001e0| d0 01 80 06 53 74 61 72 | 74 42 47 02 80 05 53 74 |....Star|tBG...St|
|000001f0| 6f 70 62 59 06 00 06 53 | 69 7a 65 4f 66 55 02 80 |opbY...S|izeOfU..|
|00000200| 04 48 65 61 64 63 03 80 | 06 48 65 61 64 65 72 00 |.Headc..|.Header.|
|00000210| 00 00 08 53 65 65 6b 52 | 65 61 64 18 06 80 01 58 |...SeekR|ead....X|
|00000220| 95 02 80 07 66 6c 64 6e | 61 6d 65 5b 03 80 06 66 |....fldn|ame[...f|
|00000230| 6c 64 6c 65 6e 11 03 80 | 06 6d 61 78 6c 65 6e 7a |ldlen...|.maxlenz|
|00000240| 02 80 06 6d 69 6e 6c 65 | 6e 00 00 80 0a 46 69 65 |...minle|n....Fie|
|00000250| 6c 64 43 6f 75 6e 74 5c | 02 00 06 48 61 6e 64 6c |ldCount\|...Handl|
|00000260| 65 73 02 00 0a 43 75 72 | 46 69 6c 65 50 6f 73 83 |es...Cur|FilePos.|
|00000270| 02 80 03 74 6d 70 68 02 | 00 08 42 43 44 74 6f 4e |...tmph.|..BCDtoN|
|00000280| 75 6d 3b 03 00 07 42 43 | 44 32 4e 75 6d b7 02 00 |um;...BC|D2Num...|
|00000290| 03 42 43 44 cb 02 00 05 | 42 79 74 65 31 1f 03 00 |.BCD....|Byte1...|
|000002a0| 05 62 79 74 65 32 e5 02 | 00 05 62 79 74 65 33 d9 |.byte2..|..byte3.|
|000002b0| 02 00 05 62 79 74 65 34 | ad 02 00 03 4e 75 6d 24 |...byte4|....Num$|
|000002c0| 03 00 04 62 79 74 65 f5 | 03 00 06 54 6f 54 72 69 |...byte.|...ToTri|
|000002d0| 6d a3 05 00 04 54 65 78 | 74 07 06 00 08 46 69 6c |m....Tex|t....Fil|
|000002e0| 65 44 61 74 61 97 05 00 | 0a 46 69 6c 65 48 61 6e |eData...|.FileHan|
|000002f0| 64 6c 65 f8 04 00 08 66 | 6c 64 74 79 79 70 65 59 |dle....f|ldtyypeY|
|00000300| 05 00 10 44 69 73 70 6c | 61 79 53 74 72 75 63 74 |...Displ|ayStruct|
|00000310| 75 72 65 43 06 00 08 4d | 61 69 6e 4d 65 6e 75 d9 |ureC...M|ainMenu.|
|00000320| 03 00 08 50 72 69 6e 74 | 46 6c 64 96 03 00 0a 46 |...Print|Fld....F|
|00000330| 6f 72 6d 5f 43 6c 69 63 | 6b 6f 06 00 01 49 82 03 |orm_Clic|ko...I..|
|00000340| 00 06 53 63 72 65 65 6e | cc 05 00 09 46 6f 6e 74 |..Screen|....Font|
|00000350| 43 6f 75 6e 74 a4 03 00 | 08 46 6f 6e 74 4e 61 6d |Count...|.FontNam|
|00000360| 65 00 00 00 05 46 6f 6e | 74 73 74 03 00 07 74 61 |e....Fon|tst...ta|
|00000370| 62 31 46 6c 64 8e 03 00 | 04 74 61 62 31 8b 04 00 |b1Fld...|.tab1...|
|00000380| 0d 44 69 73 70 6c 61 79 | 48 65 61 64 65 72 00 00 |.Display|Header..|
|00000390| 40 0a 47 65 74 4e 75 6d | 52 65 63 73 bb 03 80 08 |@.GetNum|Recs....|
|000003a0| 48 65 61 64 52 65 63 73 | 74 04 80 04 52 65 63 73 |HeadRecs|t...Recs|
|000003b0| 2b 04 00 0a 44 69 73 70 | 44 42 49 6e 66 6f a2 04 |+...Disp|DBInfo..|
|000003c0| 00 07 43 61 70 74 69 6f | 6e c5 03 00 08 52 65 63 |..Captio|n....Rec|
|000003d0| 43 6f 75 6e 74 e6 06 00 | 06 46 6c 64 43 6e 74 4f |Count...|.FldCntO|
|000003e0| 04 00 06 52 65 63 43 6e | 74 b4 04 40 06 47 65 74 |...RecCn|t..@.Get|
|000003f0| 52 65 63 00 04 80 07 4f | 6c 64 46 69 6c 65 32 05 |Rec....O|ldFile2.|
|00000400| 80 03 52 65 63 42 04 80 | 06 52 65 63 6f 72 64 e9 |..RecB..|.Record.|
|00000410| 05 80 07 52 65 63 44 61 | 74 61 0a 04 00 06 47 65 |...RecDa|ta....Ge|
|00000420| 74 46 4c 44 38 04 40 08 | 47 65 74 46 69 65 6c 64 |tFLD8.@.|GetField|
|00000430| 24 05 80 06 46 6c 64 4e | 75 6d 0f 06 80 07 46 6c |$...FldN|um....Fl|
|00000440| 64 44 61 74 61 5e 04 40 | 09 44 65 6c 65 74 65 52 |dData^.@|.DeleteR|
|00000450| 45 43 bc 04 40 06 50 75 | 74 52 65 63 7e 05 00 09 |EC..@.Pu|tRec~...|
|00000460| 53 65 65 6b 57 72 69 74 | 65 6b 04 40 0b 53 74 61 |SeekWrit|ek.@.Sta|
|00000470| 6d 70 52 65 63 6f 72 64 | af 05 40 09 53 74 61 6d |mpRecord|..@.Stam|
|00000480| 70 44 61 74 65 b8 05 80 | 05 46 44 61 74 61 80 04 |pDate...|.FData..|
|00000490| 00 08 53 74 61 6d 70 52 | 65 63 00 00 80 07 52 65 |..StampR|ec....Re|
|000004a0| 63 6f 72 64 73 97 04 00 | 08 4e 75 6d 54 6f 42 43 |cords...|.NumToBC|
|000004b0| 44 ac 04 00 07 4e 75 6d | 32 42 43 44 c0 05 00 06 |D....Num|2BCD....|
|000004c0| 42 43 44 4e 75 6d 4e 06 | 00 04 53 69 7a 65 cc 04 |BCDNumN.|..Size..|
|000004d0| 80 04 74 65 6d 70 31 06 | 00 0c 4f 6c 64 44 42 46 |..temp1.|..OldDBF|
|000004e0| 48 61 6e 64 6c 65 fb 05 | 00 28 4f 6c 64 44 42 46 |Handle..|.(OldDBF|
|000004f0| 48 61 44 42 46 48 61 44 | 42 46 48 61 44 42 46 48 |HaDBFHaD|BFHaDBFH|
|00000500| 61 44 42 46 48 61 44 42 | 46 48 61 44 42 46 48 61 |aDBFHaDB|FHaDBFHa|
|00000510| 44 42 8e 06 00 28 48 61 | 44 42 46 48 61 44 42 46 |DB...(Ha|DBFHaDBF|
|00000520| 48 61 44 42 46 48 61 44 | 42 46 48 61 44 42 46 48 |HaDBFHaD|BFHaDBFH|
|00000530| 61 44 42 46 48 61 44 42 | 46 48 61 44 42 46 51 05 |aDBFHaDB|FHaDBFQ.|
|00000540| 40 0a 47 65 74 52 65 63 | 53 69 7a 65 70 05 40 0e |@.GetRec|Sizep.@.|
|00000550| 43 72 65 61 74 65 44 61 | 74 61 42 61 73 65 f0 05 |CreateDa|taBase..|
|00000560| 00 09 43 72 65 61 74 65 | 44 42 46 64 05 80 04 4d |..Create|DBFd...M|
|00000570| 6f 64 65 00 00 80 07 4e | 75 6d 46 6c 64 73 b1 06 |ode....N|umFlds..|
|00000580| 00 08 4b 69 6c 6c 46 69 | 6c 65 27 06 00 0a 43 72 |..KillFi|le'...Cr|
|00000590| 65 61 74 65 46 69 6c 65 | 00 00 00 08 53 65 65 6b |eateFile|....Seek|
|000005a0| 46 69 6c 65 be 06 00 09 | 57 72 69 74 65 46 69 6c |File....|WriteFil|
|000005b0| 65 00 00 80 08 46 69 6c | 65 4e 61 6d 65 d2 05 00 |e....Fil|eName...|
|000005c0| 08 4e 6f 74 46 6f 75 6e | 64 00 00 80 05 46 41 4c |.NotFoun|d....FAL|
|000005d0| 53 45 c8 06 80 04 54 52 | 55 45 00 00 00 08 66 69 |SE....TR|UE....fi|
|000005e0| 6c 65 73 70 65 63 83 06 | 00 02 69 74 00 00 00 05 |lespec..|..it....|
|000005f0| 64 6f 65 73 6e 00 00 40 | 0a 47 65 74 4d 65 6d 6f |doesn..@|.GetMemo|
|00000600| 50 74 72 7b 06 80 03 50 | 74 72 00 00 00 07 50 61 |Ptr{...P|tr....Pa|
|00000610| 63 6b 44 42 46 00 00 40 | 08 50 75 74 46 69 65 6c |ckDBF..@|.PutFiel|
|00000620| 64 64 06 00 04 46 6c 64 | 44 3c 06 80 05 46 69 65 |dd...Fld|D<...Fie|
|00000630| 6c 64 f2 06 40 0b 55 6e | 44 65 6c 65 74 65 52 45 |ld..@.Un|DeleteRE|
|00000640| 43 00 00 80 06 44 42 46 | 56 65 72 00 00 80 07 70 |C....DBF|Ver....p|
|00000650| 64 62 66 76 65 72 93 06 | 00 03 5a 41 50 a2 06 00 |dbfver..|..ZAP...|
|00000660| 07 4f 70 65 6e 44 42 46 | 00 00 00 07 4d 61 78 52 |.OpenDBF|....MaxR|
|00000670| 65 63 73 00 00 00 07 74 | 6d 70 66 69 6c 65 00 00 |ecs....t|mpfile..|
|00000680| 00 07 4e 65 77 66 69 6c | 65 00 00 00 08 43 6c 6f |..Newfil|e....Clo|
|00000690| 73 65 44 42 46 00 00 00 | 04 56 42 44 42 e0 06 00 |seDBF...|.VBDB...|
|000006a0| 07 76 65 72 73 69 6f 6e | 00 00 00 01 6f d2 06 00 |.version|....o...|
|000006b0| 0b 4d 61 78 45 72 72 6f | 72 4d 73 67 fb 06 80 0b |.MaxErro|rMsg....|
|000006c0| 45 72 72 6f 72 41 63 74 | 69 6f 6e 00 00 40 09 47 |ErrorAct|ion..@.G|
|000006d0| 65 74 55 70 64 61 74 65 | 00 00 80 06 75 70 64 61 |etUpdate|....upda|
|000006e0| 74 65 00 00 80 06 64 62 | 64 61 74 65 d8 06 80 02 |te....db|date....|
|000006f0| 79 72 00 00 80 04 6d 6e | 74 68 00 00 80 02 64 79 |yr....mn|th....dy|
|00000700| 00 00 00 08 4d 61 78 45 | 72 72 6f 72 00 00 80 05 |....MaxE|rror....|
|00000710| 45 72 72 4e 6f 00 00 00 | 09 45 72 72 41 63 74 69 |ErrNo...|.ErrActi|
|00000720| 6f 6e 3c 01 00 00 18 00 | 00 00 00 00 76 00 02 00 |on<.....|....v...|
|00000730| 00 00 00 00 76 00 37 00 | 00 00 56 42 44 42 20 76 |....v.7.|..VBDB v|
|00000740| 65 72 73 69 6f 6e 20 31 | 2e 30 20 66 6f 72 20 56 |ersion 1|.0 for V|
|00000750| 69 73 75 61 6c 20 42 61 | 73 69 63 20 31 2e 30 20 |isual Ba|sic 1.0 |
|00000760| 61 6e 64 20 57 69 6e 64 | 6f 77 73 20 33 2e 30 6d |and Wind|ows 3.0m|
|00000770| 00 00 76 00 3e 00 00 00 | 28 43 29 31 39 39 31 20 |..v.>...|(C)1991 |
|00000780| 4d 61 72 71 75 69 73 20 | 43 6f 6d 70 75 74 69 6e |Marquis |Computin|
|00000790| 67 2c 70 6f 72 74 69 6f | 6e 73 20 28 43 29 31 39 |g,portio|ns (C)19|
|000007a0| 39 30 20 4d 61 72 71 75 | 69 73 20 43 6f 6d 70 75 |90 Marqu|is Compu|
|000007b0| 74 69 6e 67 00 00 76 00 | 16 00 00 00 41 6c 6c 20 |ting..v.|....All |
|000007c0| 52 69 67 68 74 73 20 52 | 65 73 65 72 76 65 64 2e |Rights R|eserved.|
|000007d0| 00 00 76 00 02 00 00 00 | 00 00 76 00 02 00 00 00 |..v.....|..v.....|
|000007e0| 00 00 76 00 25 00 00 00 | 43 6f 64 65 20 66 6f 72 |..v.%...|Code for|
|000007f0| 20 64 42 41 53 45 20 49 | 49 49 2b 20 64 61 74 61 | dBASE I|II+ data|
|00000800| 62 61 73 65 20 65 6e 67 | 69 6e 65 65 00 00 76 00 |base eng|inee..v.|
|00000810| 02 00 00 00 00 00 76 00 | 15 00 00 00 4d 61 69 6e |......v.|....Main|
|00000820| 20 70 72 6f 67 72 61 6d | 20 6d 6f 64 75 6c 65 65 | program| modulee|
|00000830| 00 00 76 00 02 00 00 00 | 00 00 00 00 19 00 ff ff |..v.....|........|
|00000840| c1 ff ff ff 00 00 00 00 | 1d 00 e4 04 f9 00 0c 00 |........|........|
|00000850| b8 05 00 00 1d 00 e4 00 | 0c 00 af 05 09 00 08 00 |........|........|
|00000860| ff ff 1a 01 ff ff ff ff | 10 00 00 00 03 01 00 0c |........|........|
|00000870| 00 4f 70 65 6e 44 61 74 | 61 42 61 73 65 01 08 30 |.OpenDat|aBase..0|
|00000880| fc 04 fe 04 18 00 00 00 | 58 00 16 00 64 00 00 01 |........|X...d...|
|00000890| 02 00 97 05 00 02 06 00 | 00 00 7f 00 00 00 01 00 |........|........|
|000008a0| 00 00 00 00 00 14 76 00 | 02 00 05 00 00 14 76 00 |......v.|......v.|
|000008b0| 39 00 05 00 4f 70 65 6e | 73 20 61 20 64 61 74 61 |9...Open|s a data|
|000008c0| 62 61 73 65 20 66 69 6c | 65 2c 20 6c 6f 61 64 73 |base fil|e, loads|
|000008d0| 20 46 6c 64 28 29 20 77 | 69 74 68 20 44 42 46 20 | Fld() w|ith DBF |
|000008e0| 64 65 66 69 6e 69 74 69 | 6f 6e 2e 69 00 14 76 00 |definiti|on.i..v.|
|000008f0| 02 00 05 00 00 14 76 00 | 0a 00 05 00 4f 6e 20 65 |......v.|....On e|
|00000900| 78 69 74 3a 00 14 76 00 | 02 00 05 00 00 14 76 00 |xit:..v.|......v.|
|00000910| 47 00 05 00 20 20 44 42 | 46 48 61 6e 64 6c 65 20 |G... DB|FHandle |
|00000920| 3d 20 46 69 6c 65 20 68 | 61 6e 64 6c 65 20 66 6f |= File h|andle fo|
|00000930| 72 20 74 68 69 73 20 64 | 61 74 61 62 61 73 65 20 |r this d|atabase |
|00000940| 66 6f 72 20 61 6c 6c 20 | 6f 74 68 65 72 20 6f 70 |for all |other op|
|00000950| 65 72 61 74 69 6f 6e 73 | 2e 00 00 14 76 00 38 00 |erations|....v.8.|
|00000960| 05 00 0d 0e 20 44 42 46 | 48 61 6e 64 6c 65 20 69 |.... DBF|Handle i|
|00000970| 73 20 61 20 67 6c 6f 62 | 61 6c 20 76 61 72 69 61 |s a glob|al varia|
|00000980| 62 6c 65 20 2d 2d 20 69 | 74 20 69 73 20 73 65 74 |ble -- i|t is set|
|00000990| 20 62 79 20 74 68 69 73 | 00 14 76 00 0d 00 05 00 | by this|..v.....|
|000009a0| 0d 0e 20 72 6f 75 74 69 | 6e 65 2e 20 00 14 76 00 |.. routi|ne. ..v.|
|000009b0| 02 00 05 00 00 14 76 00 | 42 00 05 00 20 20 44 42 |......v.|B... DB|
|000009c0| 46 4e 61 6d 65 24 20 20 | 3d 20 44 42 46 4e 61 6d |FName$ |= DBFNam|
|000009d0| 65 24 20 69 73 20 61 20 | 67 6c 6f 62 61 6c 20 76 |e$ is a |global v|
|000009e0| 61 72 69 61 62 6c 65 20 | 2d 2d 20 69 74 20 69 73 |ariable |-- it is|
|000009f0| 20 73 65 74 20 62 79 20 | 74 68 69 73 00 14 76 00 | set by |this..v.|
|00000a00| 36 00 05 00 0d 0e 20 72 | 6f 75 74 69 6e 65 20 61 |6..... r|outine a|
|00000a10| 73 20 77 65 6c 6c 20 61 | 73 20 74 68 65 20 4f 70 |s well a|s the Op|
|00000a20| 65 6e 44 42 46 5f 43 6c | 69 63 6b 20 6d 65 6e 75 |enDBF_Cl|ick menu|
|00000a30| 20 6f 70 74 69 6f 6e 2e | 00 14 76 00 02 00 05 00 | option.|..v.....|
|00000a40| 00 14 76 00 47 00 05 00 | 20 20 46 6c 64 28 29 0d |..v.G...| Fld().|
|00000a50| 05 20 3d 20 54 79 70 65 | 20 61 72 72 61 79 20 63 |. = Type| array c|
|00000a60| 6f 6e 74 61 69 6e 69 6e | 67 20 61 6c 6c 20 72 65 |ontainin|g all re|
|00000a70| 6c 61 76 65 6e 74 20 69 | 6e 66 6f 72 6d 61 74 69 |lavent i|nformati|
|00000a80| 6f 6e 20 61 62 6f 75 74 | 20 74 68 69 73 69 00 14 |on about| thisi..|
|00000a90| 76 00 09 00 05 00 0d 0e | 20 44 42 46 2e 20 00 14 |v.......| DBF. ..|
|00000aa0| 76 00 02 00 05 00 00 14 | 76 00 43 00 05 00 20 20 |v.......|v.C... |
|00000ab0| 53 74 61 74 75 73 0d 04 | 20 3d 20 73 75 63 63 65 |Status..| = succe|
|00000ac0| 73 73 20 6f 72 20 66 61 | 69 6c 75 72 65 20 77 68 |ss or fa|ilure wh|
|00000ad0| 65 72 65 20 54 52 55 45 | 20 28 2d 31 29 20 65 71 |ere TRUE| (-1) eq|
|00000ae0| 75 61 6c 73 20 73 75 63 | 65 73 73 20 61 6e 64 00 |uals suc|ess and.|
|00000af0| 00 14 76 00 1e 00 05 00 | 0d 0e 20 46 41 4c 53 45 |..v.....|.. FALSE|
|00000b00| 20 28 30 29 20 65 71 75 | 61 6c 73 20 66 61 69 6c | (0) equ|als fail|
|00000b10| 75 72 65 2e 00 14 76 00 | 05 00 05 00 0d 0e 20 00 |ure...v.|...... .|
|00000b20| 00 14 00 14 76 00 13 00 | 05 00 2d 2d 2d 20 65 72 |....v...|..--- er|
|00000b30| 72 6f 72 20 68 61 6e 64 | 6c 65 72 72 00 14 4f 00 |ror hand|lerr..O.|
|00000b40| 1f 01 76 00 10 00 30 00 | 73 65 74 20 65 72 72 6f |..v...0.|set erro|
|00000b50| 72 20 74 72 61 70 00 14 | 00 14 76 00 0e 00 05 00 |r trap..|..v.....|
|00000b60| 2d 2d 2d 20 6f 70 65 6e | 20 44 42 46 00 14 b7 00 |--- open| DBF....|
|00000b70| 0c 00 12 01 76 00 11 00 | 30 00 67 65 74 20 66 69 |....v...|0.get fi|
|00000b80| 6c 65 20 68 61 6e 64 6c | 65 28 00 14 0b 18 97 05 |le handl|e(......|
|00000b90| 0b 00 12 01 8e 00 20 00 | 76 00 14 00 30 00 6f 70 |...... .|v...0.op|
|00000ba0| 65 6e 20 61 73 20 73 74 | 61 6e 64 61 6c 6f 6e 65 |en as st|andalone|
|00000bb0| 00 00 00 14 76 00 0f 00 | 05 00 2d 2d 2d 20 63 68 |....v...|..--- ch|
|00000bc0| 65 63 6b 20 44 42 46 00 | 00 14 0b 00 12 01 24 00 |eck DBF.|......$.|
|00000bd0| 01 00 e4 00 76 00 14 00 | 30 00 67 65 74 20 44 42 |....v...|0.get DB|
|00000be0| 46 20 64 65 66 69 6e 69 | 74 69 6f 6e 00 14 0b 00 |F defini|tion....|
|00000bf0| f2 06 0e 00 01 00 e6 06 | 45 00 80 03 3d 00 fe 04 |........|E...=...|
|00000c00| 00 00 00 14 76 00 15 00 | 05 00 2d 2d 2d 20 63 68 |....v...|..--- ch|
|00000c10| 65 63 6b 20 66 6f 72 20 | 65 72 72 6f 72 65 00 14 |eck for |errore..|
|00000c20| e4 00 0e 00 01 00 f3 00 | 11 00 fa 00 e4 04 e3 00 |........|........|
|00000c30| 49 00 34 04 76 00 16 00 | 30 00 69 6e 76 61 6c 69 |I.4.v...|0.invali|
|00000c40| 64 20 66 69 6c 65 20 68 | 61 6e 64 6c 65 3f 00 1c |d file h|andle?..|
|00000c50| 0b 00 12 01 7b 00 01 00 | 76 00 0c 00 30 00 63 6c |....{...|v...0.cl|
|00000c60| 6f 73 65 20 66 69 6c 65 | 00 1c e4 04 f9 00 0c 00 |ose file|........|
|00000c70| 12 01 76 00 18 00 30 00 | 73 65 74 20 74 6f 20 28 |..v...0.|set to (|
|00000c80| 2d 31 29 20 65 72 72 6f | 72 20 63 6f 64 65 00 1c |-1) erro|r code..|
|00000c90| e5 00 ba 0b 24 00 01 00 | c9 00 76 00 0d 00 30 00 |....$...|..v...0.|
|00000ca0| 69 6e 76 61 6c 69 64 20 | 44 42 46 72 00 14 38 00 |invalid |DBFr..8.|
|00000cb0| 00 00 00 14 76 00 13 00 | 05 00 2d 2d 2d 20 61 73 |....v...|..--- as|
|00000cc0| 73 69 67 6e 20 68 61 6e | 64 6c 65 68 00 14 0b 00 |sign han|dleh....|
|00000cd0| 12 01 0c 00 7f 00 76 00 | 12 00 30 00 67 6c 6f 62 |......v.|..0.glob|
|00000ce0| 61 6c 20 44 42 46 48 61 | 6e 64 6c 65 00 14 00 14 |al DBFHa|ndle....|
|00000cf0| 76 00 16 00 05 00 2d 2d | 2d 20 61 73 73 69 67 6e |v.....--|- assign|
|00000d00| 20 66 69 6c 65 20 6e 61 | 6d 65 00 14 0b 18 97 05 | file na|me......|
|00000d10| 0c 18 74 00 76 00 11 00 | 30 00 67 6c 6f 62 61 6c |..t.v...|0.global|
|00000d20| 20 44 42 46 4e 61 6d 65 | 24 65 00 00 00 14 76 00 | DBFName|$e....v.|
|00000d30| 17 00 05 00 2d 2d 2d 20 | 65 78 69 74 20 74 68 69 |....--- |exit thi|
|00000d40| 73 20 72 6f 75 74 69 6e | 65 6f 00 14 3d 00 fe 04 |s routin|eo..=...|
|00000d50| 00 00 04 00 ff ff 1f 01 | 00 10 0b 00 a2 06 0e 18 |........|........|
|00000d60| 01 00 93 06 0c 18 55 02 | 00 10 4f 00 ff ff 00 10 |......U.|..O.....|
|00000d70| 3d 00 fe 04 00 00 00 00 | 39 00 09 00 08 00 d2 04 |=.......|9.......|
|00000d80| ff ff ff ff ff ff 36 00 | 00 00 03 00 00 0b 00 47 |......6.|.......G|
|00000d90| 65 74 48 65 61 64 53 69 | 7a 65 01 08 30 ee 00 f4 |etHeadSi|ze..0...|
|00000da0| 00 18 00 00 00 58 00 16 | 00 a4 01 00 01 02 00 7f |.....X..|........|
|00000db0| 00 00 00 01 00 00 00 40 | 01 00 00 01 00 00 00 00 |.......@|........|
|00000dc0| 14 00 14 76 00 02 00 05 | 00 00 14 76 00 2b 00 05 |...v....|...v.+..|
|00000dd0| 00 54 68 69 73 20 73 75 | 62 20 72 65 74 75 72 6e |.This su|b return|
|00000de0| 73 20 74 68 65 20 62 79 | 74 65 73 20 69 6e 20 74 |s the by|tes in t|
|00000df0| 68 65 20 68 65 61 64 65 | 72 2e 00 00 14 76 00 02 |he heade|r....v..|
|00000e00| 00 05 00 00 0c 00 14 76 | 00 1c 00 05 00 2d 2d 2d |.......v|.....---|
|00000e10| 20 72 65 61 64 20 68 65 | 61 64 65 72 20 26 20 67 | read he|ader & g|
|00000e20| 65 74 20 73 69 7a 65 00 | 14 e4 08 d3 00 0c 18 55 |et size.|.......U|
|00000e30| 02 76 00 0f 00 2b 00 32 | 20 62 79 74 65 20 6e 75 |.v...+.2| byte nu|
|00000e40| 6d 62 65 72 20 00 14 0b | 00 7f 00 e4 24 0b 18 55 |mber ...|....$..U|
|00000e50| 02 24 00 03 00 f5 01 76 | 00 08 00 2c 00 67 65 74 |.$.....v|...,.get|
|00000e60| 20 69 74 00 14 0b 18 55 | 02 0e 08 01 00 68 02 0c | it....U|.....h..|
|00000e70| 00 40 01 76 00 0c 00 2c | 00 2d 2d 3e 20 6e 75 6d |.@.v...,|.--> num|
|00000e80| 62 65 72 00 14 00 00 39 | 00 09 00 08 00 ff ff ff |ber....9|........|
|00000e90| ff ff ff ff ff 0c 00 00 | 00 03 00 00 0a 00 47 65 |........|......Ge|
|00000ea0| 74 4e 75 6d 52 65 63 73 | 01 08 30 72 01 76 01 18 |tNumRecs|..0r.v..|
|00000eb0| 00 00 00 58 00 16 00 74 | 03 00 01 02 00 7f 00 00 |...X...t|........|
|00000ec0| 00 01 00 00 00 8e 03 00 | 02 02 00 00 00 00 14 00 |........|........|
|00000ed0| 14 76 00 02 00 05 00 00 | 14 76 00 3e 00 05 00 52 |.v......|.v.>...R|
|00000ee0| 65 61 64 73 20 44 42 46 | 20 68 65 61 64 65 72 20 |eads DBF| header |
|00000ef0| 26 20 72 65 74 75 72 6e | 73 20 6e 75 6d 62 65 72 |& return|s number|
|00000f00| 20 6f 66 20 72 65 63 6f | 72 64 73 2e 20 52 65 63 | of reco|rds. Rec|
|00000f10| 73 26 20 3d 20 6e 75 6d | 62 65 72 00 14 76 00 44 |s& = num|ber..v.D|
|00000f20| 00 05 00 6f 66 20 72 65 | 63 6f 72 64 73 20 74 68 |...of re|cords th|
|00000f30| 65 20 68 65 61 64 65 72 | 20 69 6e 64 69 63 61 74 |e header| indicat|
|00000f40| 65 73 20 2d 2d 20 6e 6f | 74 20 6e 65 63 63 65 73 |es -- no|t necces|
|00000f50| 61 72 69 6c 79 20 74 68 | 65 20 74 72 75 65 20 6e |arily th|e true n|
|00000f60| 75 6d 62 65 72 00 14 76 | 00 0d 00 05 00 6f 66 20 |umber..v|.....of |
|00000f70| 72 65 63 6f 72 64 73 21 | 74 00 14 76 00 02 00 05 |records!|t..v....|
|00000f80| 00 00 00 00 14 76 00 14 | 00 05 00 2d 2d 2d 20 73 |.....v..|...--- s|
|00000f90| 65 74 20 75 70 20 66 6f | 72 20 67 65 74 00 14 e4 |et up fo|r get...|
|00000fa0| 10 d3 00 0c 18 55 02 76 | 00 0f 00 28 00 34 20 62 |.....U.v|...(.4 b|
|00000fb0| 79 74 65 20 6e 75 6d 62 | 65 72 20 00 14 0b 00 7f |yte numb|er .....|
|00000fc0| 00 e4 14 0b 18 55 02 24 | 00 03 00 f5 01 76 00 17 |.....U.$|.....v..|
|00000fd0| 00 28 00 73 74 61 72 74 | 20 6f 66 20 72 65 63 6f |.(.start| of reco|
|00000fe0| 72 64 20 66 69 65 6c 64 | 20 00 14 0b 18 55 02 0e |rd field| ....U..|
|00000ff0| 00 01 00 68 02 0c 08 8e | 03 76 00 18 00 28 00 63 |...h....|.v...(.c|
|00001000| 6f 6e 76 65 72 74 20 69 | 74 20 74 6f 20 61 20 6e |onvert i|t to a n|
|00001010| 75 6d 62 65 72 00 00 00 | 00 39 00 09 00 08 00 ff |umber...|.9......|
|00001020| ff ff ff ff ff ff ff 0e | 00 00 00 03 00 00 06 00 |........|........|
|00001030| 47 65 74 52 65 63 01 08 | 30 5e 06 76 06 18 00 00 |GetRec..|0^.v....|
|00001040| 00 58 00 1e 00 cf 03 00 | 01 03 00 7f 00 00 00 01 |.X......|........|
|00001050| 00 00 00 eb 03 00 02 02 | 00 00 00 f5 03 00 02 06 |........|........|
|00001060| 00 00 00 00 00 00 0c 76 | 00 02 00 03 00 00 0c 76 |.......v|.......v|
|00001070| 00 46 00 03 00 52 65 61 | 64 73 20 26 20 72 65 74 |.F...Rea|ds & ret|
|00001080| 75 72 6e 73 20 61 20 72 | 65 63 6f 72 64 20 66 72 |urns a r|ecord fr|
|00001090| 6f 6d 20 61 20 64 42 41 | 53 45 20 49 49 49 2c 20 |om a dBA|SE III, |
|000010a0| 49 49 49 2b 20 6f 72 20 | 49 56 20 64 61 74 61 62 |III+ or |IV datab|
|000010b0| 61 73 65 20 66 69 6c 65 | 2e 00 0c 76 00 02 00 03 |ase file|...v....|
|000010c0| 00 00 0c 76 00 16 00 03 | 00 4f 6e 20 65 6e 74 72 |...v....|.On entr|
|000010d0| 79 20 52 65 63 6f 72 64 | 26 20 69 73 3a 00 0c 76 |y Record|& is:..v|
|000010e0| 00 02 00 03 00 00 0c 76 | 00 2f 00 03 00 20 20 52 |.......v|./... R|
|000010f0| 65 63 6f 72 64 26 20 3d | 20 20 30 20 2d 3e 20 47 |ecord& =| 0 -> G|
|00001100| 65 74 20 6e 65 78 74 20 | 72 65 63 6f 72 64 20 69 |et next |record i|
|00001110| 6e 20 73 65 71 75 65 6e | 63 65 64 00 0c 76 00 2f |n sequen|ced..v./|
|00001120| 00 03 00 20 20 52 65 63 | 6f 72 64 26 20 3d 20 2d |... Rec|ord& = -|
|00001130| 31 20 2d 3e 20 47 65 74 | 20 6c 61 73 74 20 72 65 |1 -> Get| last re|
|00001140| 63 6f 72 64 20 69 6e 20 | 73 65 71 75 65 6e 63 65 |cord in |sequence|
|00001150| 64 00 0c 76 00 26 00 03 | 00 20 20 52 65 63 6f 72 |d..v.&..|. Recor|
|00001160| 64 26 20 3e 20 20 30 20 | 2d 3e 20 47 65 74 20 72 |d& > 0 |-> Get r|
|00001170| 65 63 6f 72 64 20 52 65 | 63 6f 72 64 26 00 0c 76 |ecord Re|cord&..v|
|00001180| 00 02 00 03 00 00 0c 76 | 00 02 00 03 00 00 0c 76 |.......v|.......v|
|00001190| 00 2c 00 03 00 4f 6e 20 | 65 78 69 74 20 52 65 63 |.,...On |exit Rec|
|000011a0| 6f 72 64 26 20 20 3d 20 | 52 65 63 6f 72 64 20 6e |ord& = |Record n|
|000011b0| 75 6d 62 65 72 20 72 65 | 74 72 69 65 76 65 64 00 |umber re|trieved.|
|000011c0| 0c 76 00 22 00 03 00 0d | 08 20 52 65 63 44 61 74 |.v."....|. RecDat|
|000011d0| 61 24 20 3d 20 72 65 63 | 6f 72 64 20 73 74 72 69 |a$ = rec|ord stri|
|000011e0| 6e 67 20 64 61 74 61 00 | 0c 76 00 02 00 03 00 00 |ng data.|.v......|
|000011f0| 0c 76 00 48 00 03 00 4e | 4f 54 45 3a 20 47 65 74 |.v.H...N|OTE: Get|
|00001200| 52 65 63 28 29 20 6d 61 | 69 6e 74 61 69 6e 73 20 |Rec() ma|intains |
|00001210| 61 20 72 65 63 6f 72 64 | 20 70 6f 69 6e 74 65 72 |a record| pointer|
|00001220| 3b 20 74 6f 20 72 65 2d | 73 65 74 20 69 74 2c 20 |; to re-|set it, |
|00001230| 63 61 6c 6c 20 47 65 74 | 52 65 63 28 29 00 0c 76 |call Get|Rec()..v|
|00001240| 00 1a 00 03 00 0d 06 20 | 77 69 74 68 20 61 20 72 |....... |with a r|
|00001250| 65 63 6f 72 64 20 6e 75 | 6d 62 65 72 2e 00 0c 76 |ecord nu|mber...v|
|00001260| 00 02 00 03 00 00 08 00 | 0c 76 00 17 00 03 00 2d |........|.v.....-|
|00001270| 2d 2d 20 70 72 65 73 65 | 72 76 65 20 65 6c 65 6d |-- prese|rve elem|
|00001280| 65 6e 74 73 20 00 0c 18 | 01 6a 02 0d 00 d9 03 0d |ents ...|.j......|
|00001290| 08 e4 03 76 00 0d 00 30 | 00 73 61 76 65 20 76 61 |...v...0|.save va|
|000012a0| 6c 75 65 73 00 00 00 00 | 0c 76 00 23 00 03 00 2d |lues....|.v.#...-|
|000012b0| 2d 2d 20 67 65 74 20 44 | 42 46 20 64 65 66 69 6e |-- get D|BF defin|
|000012c0| 69 74 69 6f 6e 2c 20 69 | 66 20 6e 65 65 64 65 64 |ition, i|f needed|
|000012d0| 20 00 0c 0b 00 d9 03 0b | 00 7f 00 f1 00 45 00 d0 | .......|.....E..|
|000012e0| 02 0b 00 7f 00 24 00 01 | 00 e4 00 76 00 1c 00 30 |.....$..|...v...0|
|000012f0| 00 67 65 74 20 64 65 66 | 69 6e 69 74 69 6f 6e 20 |.get def|inition |
|00001300| 69 66 20 6e 65 77 20 66 | 69 6c 65 00 0c 0b 00 7f |if new f|ile.....|
|00001310| 00 0c 00 d9 03 76 00 1b | 00 30 00 73 61 76 65 20 |.....v..|.0.save |
|00001320| 66 69 6c 65 20 6e 75 6d | 62 65 72 20 66 6f 72 20 |file num|ber for |
|00001330| 6e 65 78 74 69 00 08 00 | 0c 76 00 17 00 03 00 2d |nexti...|.v.....-|
|00001340| 2d 2d 20 47 65 74 20 74 | 6f 74 61 6c 20 72 65 63 |-- Get t|otal rec|
|00001350| 6f 72 64 73 62 00 0c 0b | 00 7f 00 0b 08 82 03 24 |ordsb...|.......$|
|00001360| 00 02 00 74 03 76 00 10 | 00 30 00 67 65 74 20 74 |...t.v..|.0.get t|
|00001370| 6f 74 61 6c 20 72 65 63 | 73 00 08 00 0c 76 00 21 |otal rec|s....v.!|
|00001380| 00 03 00 2d 2d 2d 20 66 | 69 67 75 72 65 20 72 65 |...--- f|igure re|
|00001390| 63 6f 72 64 20 6e 75 6d | 62 65 72 20 74 6f 20 67 |cord num|ber to g|
|000013a0| 65 74 78 00 0c 0b 08 eb | 03 e4 00 a6 00 49 00 16 |etx.....|.....I..|
|000013b0| 04 76 00 11 00 30 00 67 | 65 74 20 6e 65 78 74 20 |.v...0.g|et next |
|000013c0| 72 65 63 6f 72 64 20 00 | 14 0b 08 e4 03 e4 04 a3 |record .|........|
|000013d0| 00 0c 08 e4 03 76 00 0d | 00 30 00 69 6e 63 72 20 |.....v..|.0.incr |
|000013e0| 72 65 63 6f 72 64 63 00 | 14 0b 08 e4 03 0b 08 82 |recordc.|........|
|000013f0| 03 df 00 49 00 10 04 76 | 00 11 00 30 00 69 6e 76 |...I...v|...0.inv|
|00001400| 61 6c 69 64 20 72 65 63 | 6f 72 64 3f 00 00 1c e5 |alid rec|ord?....|
|00001410| 00 b8 0b 24 00 01 00 c9 | 00 76 00 0c 00 30 00 65 |...$....|.v...0.e|
|00001420| 6e 64 20 6f 66 20 44 42 | 46 00 1c 3d 00 76 06 76 |nd of DB|F..=.v.v|
|00001430| 00 0c 00 30 00 65 78 69 | 74 20 65 61 72 6c 79 00 |...0.exi|t early.|
|00001440| 14 38 00 00 0c 0b 08 eb | 03 e4 04 f9 00 a6 00 36 |.8......|.......6|
|00001450| 00 c4 04 76 00 11 00 30 | 00 67 65 74 20 6c 61 73 |...v...0|.get las|
|00001460| 74 20 72 65 63 6f 72 64 | 00 00 14 0b 08 e4 03 e4 |t record|........|
|00001470| 04 f7 00 0c 08 e4 03 76 | 00 0d 00 30 00 64 65 63 |.......v|...0.dec|
|00001480| 72 20 72 65 63 6f 72 64 | 72 00 14 0b 08 e4 03 e4 |r record|r.......|
|00001490| 00 e3 00 49 00 be 04 76 | 00 11 00 30 00 69 6e 76 |...I...v|...0.inv|
|000014a0| 61 6c 69 64 20 72 65 63 | 6f 72 64 3f 72 00 1c e5 |alid rec|ord?r...|
|000014b0| 00 b8 0b 24 00 01 00 c9 | 00 76 00 0c 00 30 00 65 |...$....|.v...0.e|
|000014c0| 6e 64 20 6f 66 20 44 42 | 46 00 1c 3d 00 76 06 76 |nd of DB|F..=.v.v|
|000014d0| 00 0c 00 30 00 65 78 69 | 74 20 65 61 72 6c 79 00 |...0.exi|t early.|
|000014e0| 14 38 00 00 0c 32 00 04 | 05 76 00 11 00 30 00 67 |.8...2..|.v...0.g|
|000014f0| 65 74 20 54 48 49 53 20 | 72 65 63 6f 72 64 46 00 |et THIS |recordF.|
|00001500| 14 0b 08 eb 03 0c 08 e4 | 03 76 00 18 00 30 00 61 |........|.v...0.a|
|00001510| 73 73 69 67 6e 20 52 65 | 63 26 20 74 6f 20 52 65 |ssign Re|c& to Re|
|00001520| 63 6f 72 64 26 00 0c 38 | 00 00 08 00 0c 76 00 14 |cord&..8|.....v..|
|00001530| 00 03 00 2d 2d 2d 20 73 | 65 74 75 70 20 66 6f 72 |...--- s|etup for|
|00001540| 20 72 65 61 64 00 0c e4 | 00 0e 00 01 00 f3 00 11 | read...|........|
|00001550| 00 35 01 0c 00 35 01 76 | 00 14 00 30 00 61 73 73 |.5...5.v|...0.ass|
|00001560| 69 67 6e 20 72 65 63 6f | 72 64 20 73 69 7a 65 00 |ign reco|rd size.|
|00001570| 0c e4 00 0e 00 01 00 f3 | 00 11 00 40 01 0c 00 40 |........|...@...@|
|00001580| 01 76 00 14 00 30 00 61 | 73 73 69 67 6e 20 68 65 |.v...0.a|ssign he|
|00001590| 61 64 65 72 20 73 69 7a | 65 00 08 00 0c 76 00 28 |ader siz|e....v.(|
|000015a0| 00 03 00 2d 2d 2d 20 70 | 72 65 66 69 6c 6c 20 61 |...--- p|refill a|
|000015b0| 20 73 74 72 69 6e 67 20 | 74 6f 20 67 65 74 20 74 | string |to get t|
|000015c0| 68 65 20 72 65 63 6f 72 | 64 00 0c 0b 00 35 01 d3 |he recor|d....5..|
|000015d0| 00 0c 18 f5 03 76 00 13 | 00 30 00 6d 61 6b 65 20 |.....v..|.0.make |
|000015e0| 62 6c 61 6e 6b 20 72 65 | 63 6f 72 64 6e 00 08 00 |blank re|cordn...|
|000015f0| 0c 76 00 29 00 03 00 2d | 2d 2d 20 64 65 74 65 72 |.v.)...-|-- deter|
|00001600| 6d 69 6e 65 20 6f 66 66 | 73 65 74 20 69 6e 74 6f |mine off|set into|
|00001610| 20 44 42 46 20 6f 66 20 | 72 65 63 6f 72 64 63 00 | DBF of |recordc.|
|00001620| 0c 0b 00 40 01 0b 00 35 | 01 0b 08 e4 03 f0 00 ee |...@...5|........|
|00001630| 00 a3 00 ee 00 0b 00 35 | 01 f7 00 0c 08 4c 01 00 |.......5|.....L..|
|00001640| 04 00 0c 76 00 15 00 03 | 00 2d 2d 2d 20 72 65 61 |...v....|.--- rea|
|00001650| 64 20 74 68 65 20 72 65 | 63 6f 72 64 74 00 0c 0b |d the re|cordt...|
|00001660| 00 7f 00 0b 08 4c 01 0b | 18 f5 03 24 00 03 00 f5 |.....L..|...$....|
|00001670| 01 76 00 10 00 2f 00 67 | 65 74 20 74 68 65 20 72 |.v.../.g|et the r|
|00001680| 65 63 6f 72 64 00 0c 0b | 08 e4 03 0c 08 eb 03 00 |ecord...|........|
|00001690| 00 00 00 39 00 09 00 08 | 00 ff ff ff ff ff ff ff |...9....|........|
|000016a0| ff 3d 00 00 00 03 00 00 | 09 00 44 65 6c 65 74 65 |.=......|..Delete|
|000016b0| 52 45 43 01 08 30 28 02 | 26 02 18 00 00 00 58 00 |REC..0(.|&.....X.|
|000016c0| 16 00 2b 04 00 01 02 00 | 7f 00 00 00 01 00 00 00 |..+.....|........|
|000016d0| eb 03 00 02 02 00 00 00 | 00 04 00 08 76 00 02 00 |........|....v...|
|000016e0| 02 00 00 08 76 00 4a 00 | 02 00 44 65 6c 65 74 65 |....v.J.|..Delete|
|000016f0| 73 20 52 65 63 6f 72 64 | 26 20 62 79 20 77 72 69 |s Record|& by wri|
|00001700| 74 69 6e 67 20 61 20 2a | 20 74 6f 20 74 68 65 20 |ting a *| to the |
|00001710| 66 69 72 73 74 20 62 79 | 74 65 20 70 6f 73 69 74 |first by|te posit|
|00001720| 69 6f 6e 20 6f 66 20 74 | 68 65 20 72 65 63 6f 72 |ion of t|he recor|
|00001730| 64 2c 00 08 76 00 28 00 | 02 00 77 68 69 63 68 2c |d,..v.(.|..which,|
|00001740| 20 62 79 20 63 6f 6e 76 | 65 6e 74 69 6f 6e 20 69 | by conv|ention i|
|00001750| 73 20 68 6f 77 20 79 6f | 75 20 64 6f 20 69 74 21 |s how yo|u do it!|
|00001760| 00 08 76 00 02 00 02 00 | 00 08 76 00 4a 00 02 00 |..v.....|..v.J...|
|00001770| 4e 4f 54 45 3a 20 54 68 | 65 20 72 65 63 6f 72 64 |NOTE: Th|e record|
|00001780| 20 69 73 20 6e 6f 74 20 | 61 63 74 75 61 6c 6c 79 | is not |actually|
|00001790| 20 64 65 6c 65 74 65 64 | 2c 20 69 74 20 69 73 20 | deleted|, it is |
|000017a0| 6a 75 73 74 20 6d 61 72 | 6b 65 64 20 66 6f 72 20 |just mar|ked for |
|000017b0| 64 65 6c 65 74 69 6f 6e | 00 08 76 00 21 00 02 00 |deletion|..v.!...|
|000017c0| 0d 06 20 66 6f 72 20 74 | 68 65 20 6e 65 78 74 20 |.. for t|he next |
|000017d0| 50 41 43 4b 20 6f 70 65 | 72 61 74 69 6f 6e 2e 79 |PACK ope|ration.y|
|000017e0| 00 08 76 00 02 00 02 00 | 00 04 00 08 76 00 14 00 |..v.....|....v...|
|000017f0| 02 00 2d 2d 2d 20 67 65 | 74 20 74 68 65 20 72 65 |..--- ge|t the re|
|00001800| 63 6f 72 64 00 08 0b 00 | 7f 00 0b 08 eb 03 0b 18 |cord....|........|
|00001810| f5 03 24 00 03 00 cf 03 | 76 00 11 00 2c 00 72 65 |..$.....|v...,.re|
|00001820| 61 64 20 74 68 65 20 72 | 65 63 6f 72 64 74 00 04 |ad the r|ecordt..|
|00001830| 00 08 76 00 17 00 02 00 | 2d 2d 2d 20 77 72 69 74 |..v.....|--- writ|
|00001840| 65 20 74 68 65 20 2a 20 | 74 6f 20 69 74 64 00 08 |e the * |to itd..|
|00001850| e4 04 e4 04 ed 00 05 00 | 01 00 01 00 2a 22 0b 18 |........|....*"..|
|00001860| f5 03 8b 00 76 00 18 00 | 2c 00 70 75 74 20 2a 20 |....v...|,.put * |
|00001870| 69 6e 20 64 65 6c 65 74 | 65 64 20 66 69 65 6c 64 |in delet|ed field|
|00001880| 00 00 00 08 76 00 21 00 | 02 00 2d 2d 2d 20 77 72 |....v.!.|..--- wr|
|00001890| 69 74 65 20 74 68 65 20 | 63 68 61 6e 67 65 20 74 |ite the |change t|
|000018a0| 6f 20 74 68 65 20 44 42 | 46 6c 00 08 0b 00 7f 00 |o the DB|Fl......|
|000018b0| 0b 08 eb 03 0b 18 f5 03 | 24 00 03 00 38 04 76 00 |........|$...8.v.|
|000018c0| 14 00 2c 00 73 61 76 65 | 20 72 65 63 6f 72 64 20 |..,.save| record |
|000018d0| 74 6f 20 44 42 46 00 00 | 00 00 39 00 09 00 08 00 |to DBF..|..9.....|
|000018e0| ff ff ff ff ff ff ff ff | 14 00 00 00 03 00 00 06 |........|........|
|000018f0| 00 50 75 74 52 65 63 01 | 08 30 6a 05 78 05 18 00 |.PutRec.|.0j.x...|
|00001900| 00 00 58 00 1e 00 38 04 | 00 01 03 00 7f 00 00 00 |..X...8.|........|
|00001910| 01 00 00 00 eb 03 00 02 | 02 00 00 00 f5 03 00 02 |........|........|
|00001920| 06 00 00 00 00 04 00 0c | 76 00 02 00 03 00 00 0c |........|v.......|
|00001930| 76 00 42 00 03 00 57 72 | 69 74 65 73 20 74 68 65 |v.B...Wr|ites the|
|00001940| 20 63 6f 6e 74 65 6e 74 | 73 20 6f 66 20 52 65 63 | content|s of Rec|
|00001950| 6f 72 64 24 20 74 6f 20 | 66 69 6c 65 20 61 74 20 |ord$ to |file at |
|00001960| 70 6f 73 69 74 69 6f 6e | 20 52 65 63 6f 72 64 26 |position| Record&|
|00001970| 2e 20 41 6c 73 6f 00 0c | 76 00 24 00 03 00 75 70 |. Also..|v.$...up|
|00001980| 64 61 74 65 73 20 74 68 | 65 20 64 61 74 65 20 66 |dates th|e date f|
|00001990| 69 65 6c 64 20 6f 66 20 | 74 68 65 20 44 42 46 2e |ield of |the DBF.|
|000019a0| 00 0c 76 00 02 00 03 00 | 00 0c 76 00 08 00 03 00 |..v.....|..v.....|
|000019b0| 57 68 65 72 65 3a 00 0c | 76 00 02 00 03 00 00 0c |Where:..|v.......|
|000019c0| 76 00 49 00 03 00 0d 04 | 20 52 65 63 6f 72 64 26 |v.I.....| Record&|
|000019d0| 20 3d 20 30 20 6d 65 61 | 6e 73 20 61 70 70 65 6e | = 0 mea|ns appen|
|000019e0| 64 20 74 6f 20 65 6e 64 | 20 6f 66 20 66 69 6c 65 |d to end| of file|
|000019f0| 20 28 72 65 74 75 72 6e | 73 20 72 65 63 6f 72 64 | (return|s record|
|00001a00| 23 20 69 6e 20 52 65 63 | 6f 72 64 26 29 00 00 0c |# in Rec|ord&)...|
|00001a10| 76 00 34 00 03 00 0d 04 | 20 52 65 63 6f 72 64 26 |v.4.....| Record&|
|00001a20| 20 3e 20 30 20 6d 65 61 | 6e 73 20 72 65 70 6c 61 | > 0 mea|ns repla|
|00001a30| 63 65 20 72 65 63 6f 72 | 64 20 6e 75 6d 62 65 72 |ce recor|d number|
|00001a40| 20 72 65 63 6f 72 64 26 | 00 0c 76 00 02 00 03 00 | record&|..v.....|
|00001a50| 00 00 00 0c 76 00 16 00 | 03 00 2d 2d 2d 20 73 61 |....v...|..--- sa|
|00001a60| 76 65 20 66 69 6c 65 20 | 6e 75 6d 62 65 72 00 0c |ve file |number..|
|00001a70| 18 01 90 01 0d 00 d9 03 | 76 00 10 00 30 00 73 61 |........|v...0.sa|
|00001a80| 76 65 20 66 6f 72 20 6c | 61 74 65 72 00 04 00 0c |ve for l|ater....|
|00001a90| 76 00 18 00 03 00 2d 2d | 2d 20 67 65 74 20 44 42 |v.....--|- get DB|
|00001aa0| 46 20 64 65 66 69 6e 69 | 74 69 6f 6e 00 0c 0b 00 |F defini|tion....|
|00001ab0| d9 03 0b 00 7f 00 f1 00 | 45 00 ec 01 0b 00 7f 00 |........|E.......|
|00001ac0| 24 00 01 00 e4 00 76 00 | 1e 00 30 00 67 65 74 20 |$.....v.|..0.get |
|00001ad0| 44 42 46 20 64 65 66 69 | 6e 69 74 69 6f 6e 20 69 |DBF defi|nition i|
|00001ae0| 73 20 6e 65 65 64 65 64 | 00 0c 0b 00 7f 00 0c 00 |s needed|........|
|00001af0| d9 03 76 00 12 00 30 00 | 73 61 76 65 20 66 69 6c |..v...0.|save fil|
|00001b00| 65 20 6e 75 6d 62 65 72 | 00 08 00 0c 76 00 20 00 |e number|....v. .|
|00001b10| 03 00 2d 2d 2d 20 67 65 | 74 20 65 6e 64 20 6f 66 |..--- ge|t end of|
|00001b20| 20 66 69 6c 65 2c 20 69 | 66 20 6e 65 65 64 65 64 | file, i|f needed|
|00001b30| 00 0c 0b 08 eb 03 e4 00 | a6 00 49 00 a6 02 76 00 |........|..I...v.|
|00001b40| 10 00 30 00 61 70 70 65 | 6e 64 20 61 74 20 65 6e |..0.appe|nd at en|
|00001b50| 64 3f 00 14 0b 00 7f 00 | 0b 08 e4 03 24 00 02 00 |d?......|....$...|
|00001b60| 74 03 76 00 13 00 30 00 | 67 65 74 20 74 6f 74 61 |t.v...0.|get tota|
|00001b70| 6c 20 72 65 63 6f 72 64 | 73 20 00 14 0b 08 e4 03 |l record|s ......|
|00001b80| e4 04 a3 00 0c 08 e4 03 | 76 00 0c 00 30 00 69 6e |........|v...0.in|
|00001b90| 63 72 20 63 6f 75 6e 74 | 00 0c 32 00 e2 02 76 00 |cr count|..2...v.|
|00001ba0| 11 00 30 00 61 70 70 65 | 6e 64 2f 72 65 70 6c 61 |..0.appe|nd/repla|
|00001bb0| 63 65 3f 75 00 14 0b 08 | eb 03 0c 08 e4 03 76 00 |ce?u....|......v.|
|00001bc0| 13 00 30 00 61 73 73 69 | 67 6e 20 72 65 63 6f 72 |..0.assi|gn recor|
|00001bd0| 64 20 6e 6f 2e 65 00 0c | 38 00 00 08 00 0c 76 00 |d no.e..|8.....v.|
|00001be0| 14 00 03 00 2d 2d 2d 20 | 73 65 74 75 70 20 66 6f |....--- |setup fo|
|00001bf0| 72 20 72 65 61 64 00 0c | e4 00 0e 00 01 00 f3 00 |r read..|........|
|00001c00| 11 00 35 01 0c 00 35 01 | 76 00 0a 00 30 00 73 65 |..5...5.|v...0.se|
|00001c10| 74 20 73 69 7a 65 00 0c | e4 00 0e 00 01 00 f3 00 |t size..|........|
|00001c20| 11 00 40 01 0c 00 40 01 | 76 00 15 00 30 00 67 65 |..@...@.|v...0.ge|
|00001c30| 74 20 6f 66 66 73 65 74 | 20 69 6e 74 6f 20 44 42 |t offset| into DB|
|00001c40| 46 69 00 08 00 0c 76 00 | 1c 00 03 00 2d 2d 2d 20 |Fi....v.|....--- |
|00001c50| 69 66 20 62 6f 67 75 73 | 20 72 65 63 20 6c 65 6e |if bogus| rec len|
|00001c60| 20 62 6f 6f 67 79 00 0c | 0b 18 f5 03 c2 00 06 05 | boogy..|........|
|00001c70| 0b 00 35 01 f1 00 49 00 | dc 03 76 00 16 00 30 00 |..5...I.|..v...0.|
|00001c80| 69 6e 76 61 6c 69 64 20 | 72 65 63 6f 72 64 20 73 |invalid |record s|
|00001c90| 69 7a 65 3f 00 18 e5 00 | bb 0b 24 00 01 00 c9 00 |ize?....|..$.....|
|00001ca0| 76 00 15 00 30 00 69 6e | 76 61 6c 69 64 20 72 65 |v...0.in|valid re|
|00001cb0| 63 6f 72 64 20 73 69 7a | 65 72 00 18 3d 00 78 05 |cord siz|er..=.x.|
|00001cc0| 76 00 06 00 30 00 65 78 | 69 74 00 0c 38 00 00 08 |v...0.ex|it..8...|
|00001cd0| 00 0c 76 00 1f 00 03 00 | 2d 2d 2d 20 64 65 74 65 |..v.....|--- dete|
|00001ce0| 72 6d 69 6e 65 20 6f 66 | 66 73 65 74 20 69 6e 74 |rmine of|fset int|
|00001cf0| 6f 20 64 62 66 6f 00 0c | 0b 00 40 01 0b 00 35 01 |o dbfo..|..@...5.|
|00001d00| 0b 08 e4 03 f0 00 ee 00 | a3 00 ee 00 0b 00 35 01 |........|......5.|
|00001d10| f7 00 0c 08 4c 01 00 08 | 00 0c 76 00 24 00 03 00 |....L...|..v.$...|
|00001d20| 2d 2d 2d 20 70 75 74 20 | 74 68 65 20 72 65 63 6f |--- put |the reco|
|00001d30| 72 64 20 69 6e 74 6f 20 | 74 68 65 20 64 62 66 0d |rd into |the dbf.|
|00001d40| 0b 20 00 0c 0b 00 7f 00 | 0b 08 4c 01 0b 18 f5 03 |. ......|..L.....|
|00001d50| 24 00 03 00 42 04 76 00 | 1a 00 30 00 77 72 69 74 |$...B.v.|..0.writ|
|00001d60| 65 20 72 65 63 6f 72 64 | 20 64 61 74 61 20 74 6f |e record| data to|
|00001d70| 20 44 42 46 00 08 00 0c | 76 00 1e 00 03 00 2d 2d | DBF....|v.....--|
|00001d80| 2d 20 75 70 64 61 74 65 | 20 68 65 61 64 65 72 20 |- update| header |
|00001d90| 72 65 63 6f 72 64 20 6e | 6f 2e 00 0c 0b 08 eb 03 |record n|o.......|
|00001da0| e4 00 a6 00 45 00 f0 04 | 0b 00 7f 00 0b 08 e4 03 |....E...|........|
|00001db0| 24 00 02 00 4f 04 76 00 | 1f 00 30 00 75 70 64 61 |$...O.v.|..0.upda|
|00001dc0| 74 65 20 72 65 63 6f 72 | 64 20 63 6f 75 6e 74 20 |te recor|d count |
|00001dd0| 69 6e 20 68 65 61 64 65 | 72 66 00 0c 0b 00 7f 00 |in heade|rf......|
|00001de0| 24 00 01 00 5e 04 76 00 | 16 00 30 00 73 74 61 6d |$...^.v.|..0.stam|
|00001df0| 70 20 64 61 74 65 20 74 | 6f 20 68 65 61 64 65 72 |p date t|o header|
|00001e00| 00 00 00 0c 76 00 24 00 | 03 00 2d 2d 2d 20 72 65 |....v.$.|..--- re|
|00001e10| 74 75 72 6e 20 72 65 63 | 6f 72 64 20 6e 75 6d 62 |turn rec|ord numb|
|00001e20| 65 72 20 69 66 20 61 64 | 64 69 6e 67 00 0c 0b 08 |er if ad|ding....|
|00001e30| eb 03 e4 00 a6 00 45 00 | 74 05 0b 08 e4 03 0c 08 |......E.|t.......|
|00001e40| eb 03 76 00 16 00 30 00 | 61 73 73 69 67 6e 20 72 |..v...0.|assign r|
|00001e50| 65 63 6f 72 64 20 6e 75 | 6d 62 65 72 00 00 00 00 |ecord nu|mber....|
|00001e60| 39 00 09 00 08 00 ff ff | ff ff ff ff ff ff 33 00 |9.......|......3.|
|00001e70| 00 00 03 00 00 0b 00 53 | 74 61 6d 70 52 65 63 6f |.......S|tampReco|
|00001e80| 72 64 01 08 30 7a 01 7c | 01 18 00 00 00 58 00 16 |rd..0z.||.....X..|
|00001e90| 00 4f 04 00 01 02 00 7f | 00 00 00 01 00 00 00 80 |.O......|........|
|00001ea0| 04 00 02 02 00 00 00 00 | 08 00 0c 76 00 02 00 03 |........|...v....|
|00001eb0| 00 00 0c 76 00 38 00 03 | 00 53 74 61 6d 70 20 72 |...v.8..|.Stamp r|
|00001ec0| 65 63 20 77 69 6c 6c 20 | 73 65 74 20 74 68 65 20 |ec will |set the |
|00001ed0| 72 65 63 6f 72 64 20 63 | 6f 75 6e 74 65 72 20 68 |record c|ounter h|
|00001ee0| 69 67 68 65 72 20 6f 72 | 20 6c 6f 77 65 72 2e 00 |igher or| lower..|
|00001ef0| 0c 76 00 02 00 03 00 00 | 0c 76 00 37 00 03 00 42 |.v......|.v.7...B|
|00001f00| 45 20 43 41 52 45 46 55 | 4c 20 48 45 52 45 21 20 |E CAREFU|L HERE! |
|00001f10| 53 74 61 6d 70 69 6e 67 | 20 77 72 6f 6e 67 20 6e |Stamping| wrong n|
|00001f20| 75 6d 62 65 72 20 6f 66 | 20 72 65 63 6f 72 64 73 |umber of| records|
|00001f30| 20 63 61 6e 2e 00 0c 76 | 00 1d 00 03 00 6d 61 6b | can...v|.....mak|
|00001f40| 65 20 44 42 46 20 75 6e | 75 73 61 62 6c 65 20 62 |e DBF un|usable b|
|00001f50| 79 20 64 42 41 53 45 21 | 72 00 0c 76 00 02 00 03 |y dBASE!|r..v....|
|00001f60| 00 00 04 00 0c 76 00 19 | 00 03 00 2d 2d 2d 20 75 |.....v..|...--- u|
|00001f70| 70 64 61 74 65 20 72 65 | 63 6f 72 64 20 63 6f 75 |pdate re|cord cou|
|00001f80| 6e 74 41 00 0c 0b 08 80 | 04 0e 00 01 00 97 04 0c |ntA.....|........|
|00001f90| 18 55 02 76 00 0c 00 28 | 00 2d 2d 3e 20 73 74 72 |.U.v...(|.--> str|
|00001fa0| 69 6e 67 00 0c 0b 18 55 | 02 ed 00 04 00 2a 01 00 |ing....U|.....*..|
|00001fb0| 00 a6 00 45 00 50 01 e4 | 00 ac 00 0c 18 55 02 76 |...E.P..|.....U.v|
|00001fc0| 00 12 00 28 00 6d 61 6b | 65 20 75 70 20 66 6f 72 |...(.mak|e up for|
|00001fd0| 20 6e 75 6c 6c 00 0c 0b | 00 7f 00 e4 14 0b 18 55 | null...|.......U|
|00001fe0| 02 24 00 03 00 42 04 76 | 00 0c 00 28 00 77 72 69 |.$...B.v|...(.wri|
|00001ff0| 74 65 20 64 61 74 61 00 | 00 00 00 39 00 09 00 08 |te data.|...9....|
|00002000| 00 ff ff ff ff ff ff ff | ff 0f 00 00 00 03 00 00 |........|........|
|00002010| 09 00 53 74 61 6d 70 44 | 61 74 65 01 08 30 ea 00 |..StampD|ate..0..|
|00002020| 06 01 18 00 00 00 58 00 | 0e 00 5e 04 00 01 01 00 |......X.|..^.....|
|00002030| 7f 00 00 00 01 00 00 00 | 00 00 00 0c 76 00 17 00 |........|....v...|
|00002040| 03 00 2d 2d 2d 20 75 70 | 64 61 74 65 20 64 61 74 |..--- up|date dat|
|00002050| 65 20 66 69 65 6c 64 75 | 00 0c e4 0c e4 00 d6 00 |e fieldu|........|
|00002060| 0c 18 55 02 00 0c 00 0c | 76 00 1a 00 03 00 2d 2d |..U.....|v.....--|
|00002070| 2d 20 6d 61 6b 65 20 44 | 42 46 20 64 61 74 65 20 |- make D|BF date |
|00002080| 73 74 72 69 6e 67 00 0c | e4 04 e4 04 af 00 e4 08 |string..|........|
|00002090| cc 00 dd 00 ac 00 0b 18 | 55 02 8b 00 00 0c e4 08 |........|U.......|
|000020a0| e4 04 af 00 e4 08 c1 00 | dd 00 ac 00 0b 18 55 02 |........|......U.|
|000020b0| 8b 00 00 0c e4 0c e4 04 | af 00 e4 10 e4 08 c7 00 |........|........|
|000020c0| dd 00 ac 00 0b 18 55 02 | 8b 00 00 0c 00 0c 76 00 |......U.|......v.|
|000020d0| 1b 00 03 00 2d 2d 2d 20 | 73 74 61 72 74 20 6f 66 |....--- |start of|
|000020e0| 20 75 70 64 61 74 65 20 | 66 69 65 6c 64 00 00 0c | update |field...|
|000020f0| 0b 00 7f 00 e4 08 0b 18 | 55 02 24 00 03 00 42 04 |........|U.$...B.|
|00002100| 00 00 00 00 39 00 09 00 | 08 00 ff ff ff ff ff ff |....9...|........|
|00002110| ff ff 0e 00 00 00 03 00 | 00 07 00 46 6c 64 49 6e |........|...FldIn|
|00002120| 66 6f 01 08 30 24 04 36 | 04 18 00 00 00 58 00 1e |fo..0$.6|.....X..|
|00002130| 00 2a 01 00 01 03 00 7f | 00 00 00 01 00 00 00 16 |.*......|........|
|00002140| 04 00 00 01 00 00 00 06 | 02 00 02 06 00 00 00 00 |........|........|
|00002150| 0c 00 10 76 00 02 00 04 | 00 00 10 76 00 46 00 04 |...v....|...v.F..|
|00002160| 00 52 65 74 75 72 6e 73 | 20 74 68 65 20 66 69 65 |.Returns| the fie|
|00002170| 6c 64 20 6e 61 6d 65 20 | 69 66 20 67 69 76 65 6e |ld name |if given|
|00002180| 20 66 69 65 6c 64 20 6e | 75 6d 62 65 72 20 6f 72 | field n|umber or|
|00002190| 20 72 65 74 75 72 6e 73 | 20 66 69 65 6c 64 20 6e | returns| field n|
|000021a0| 75 6d 62 65 72 00 10 76 | 00 48 00 04 00 69 66 20 |umber..v|.H...if |
|000021b0| 67 69 76 65 6e 20 66 69 | 65 6c 64 20 6e 61 6d 65 |given fi|eld name|
|000021c0| 2e 20 55 73 65 20 69 74 | 20 74 6f 20 64 65 74 65 |. Use it| to dete|
|000021d0| 72 6d 69 6e 65 20 74 68 | 65 20 66 69 65 6c 64 20 |rmine th|e field |
|000021e0| 6e 75 6d 62 65 72 20 6f | 72 20 6e 61 6d 65 20 77 |number o|r name w|
|000021f0| 68 65 6e 00 10 76 00 21 | 00 04 00 6f 6e 65 20 6f |hen..v.!|...one o|
|00002200| 72 20 74 68 65 20 6f 74 | 68 65 72 20 69 73 20 6b |r the ot|her is k|
|00002210| 6e 6f 77 6e 20 6f 6e 6c | 79 2e 64 00 10 76 00 02 |nown onl|y.d..v..|
|00002220| 00 04 00 00 10 76 00 2a | 00 04 00 4e 4f 54 45 3a |.....v.*|...NOTE:|
|00002230| 20 46 6c 64 4e 75 6d 20 | 68 61 73 20 70 72 69 6f | FldNum |has prio|
|00002240| 72 69 74 79 20 6f 76 65 | 72 20 46 6c 64 4e 61 6d |rity ove|r FldNam|
|00002250| 65 24 2e 00 10 76 00 02 | 00 04 00 00 0c 00 10 76 |e$...v..|.......v|
|00002260| 00 1b 00 04 00 2d 2d 2d | 20 73 61 76 65 20 44 42 |.....---| save DB|
|00002270| 46 48 61 6e 64 6c 65 20 | 6e 75 6d 62 65 72 64 00 |FHandle |numberd.|
|00002280| 10 18 01 76 01 0d 00 d9 | 03 76 00 10 00 30 00 73 |...v....|.v...0.s|
|00002290| 61 76 65 20 66 6f 72 20 | 6c 61 74 65 72 00 00 00 |ave for |later...|
|000022a0| 10 76 00 18 00 04 00 2d | 2d 2d 20 67 65 74 20 44 |.v.....-|-- get D|
|000022b0| 42 46 20 64 65 66 69 6e | 69 74 69 6f 6e 00 10 0b |BF defin|ition...|
|000022c0| 00 d9 03 0b 00 7f 00 f1 | 00 45 00 d2 01 0b 00 7f |........|.E......|
|000022d0| 00 24 00 01 00 e4 00 76 | 00 1e 00 30 00 67 65 74 |.$.....v|...0.get|
|000022e0| 20 44 42 46 20 64 65 66 | 69 6e 69 74 69 6f 6e 20 | DBF def|inition |
|000022f0| 69 73 20 6e 65 65 64 65 | 64 00 10 0b 00 7f 00 0c |is neede|d.......|
|00002300| 00 d9 03 76 00 17 00 30 | 00 73 61 76 65 20 44 42 |...v...0|.save DB|
|00002310| 46 48 61 6e 64 6c 65 20 | 6e 75 6d 62 65 72 00 00 |FHandle |number..|
|00002320| 0c 00 10 76 00 0a 00 04 | 00 2d 2d 2d 64 6f 20 69 |...v....|.---do i|
|00002330| 74 00 10 0b 00 16 04 e4 | 00 f1 00 49 00 7c 02 76 |t.......|...I.|.v|
|00002340| 00 15 00 30 00 77 61 6e | 74 20 46 6c 64 4e 61 6d |...0.wan|t FldNam|
|00002350| 65 24 20 2e 20 2e 20 2e | 20 00 18 76 00 22 00 06 |e$ . . .| ..v."..|
|00002360| 00 2d 2d 2d 20 73 69 6d | 70 6c 79 20 61 73 73 69 |.--- sim|ply assi|
|00002370| 67 6e 20 74 68 65 20 66 | 69 65 6c 64 20 6e 61 6d |gn the f|ield nam|
|00002380| 65 00 18 0b 00 16 04 0e | 00 01 00 f3 00 11 00 67 |e.......|.......g|
|00002390| 01 0c 18 06 02 00 18 3d | 00 36 04 00 00 00 10 32 |.......=|.6.....2|
|000023a0| 00 b6 03 76 00 13 00 30 | 00 77 61 6e 74 20 46 6c |...v...0|.want Fl|
|000023b0| 64 4e 75 6d 20 2e 20 2e | 20 2e 20 00 18 76 00 17 |dNum . .| . ..v..|
|000023c0| 00 06 00 2d 2d 2d 20 61 | 73 73 69 67 6e 20 66 69 |...--- a|ssign fi|
|000023d0| 65 6c 64 20 6e 61 6d 65 | 20 00 18 0b 18 06 02 dc |eld name| .......|
|000023e0| 00 cf 00 c0 00 0c 18 06 | 02 00 00 00 18 76 00 35 |........|.....v.5|
|000023f0| 00 06 00 2d 2d 2d 20 73 | 65 61 72 63 68 20 74 68 |...--- s|earch th|
|00002400| 72 6f 75 67 68 20 46 6c | 64 28 29 20 6c 6f 6f 6b |rough Fl|d() look|
|00002410| 69 6e 67 20 66 6f 72 20 | 74 68 65 20 66 69 65 6c |ing for |the fiel|
|00002420| 64 20 6e 61 6d 65 64 00 | 18 0b 00 16 04 e4 04 e4 |d named.|........|
|00002430| 00 0e 00 01 00 f3 00 11 | 00 fa 00 3e 00 ff ff a2 |........|...>....|
|00002440| 03 00 1c 00 20 76 00 19 | 00 08 00 2d 2d 2d 20 73 |.... v..|...--- s|
|00002450| 74 72 69 70 20 6f 75 74 | 20 61 6e 79 20 6e 75 6c |trip out| any nul|
|00002460| 6c 73 29 00 20 0b 00 16 | 04 0e 00 01 00 f3 00 11 |ls). ...|........|
|00002470| 00 67 01 0e 18 01 00 ad | 00 0c 18 b4 04 00 00 00 |.g......|........|
|00002480| 20 76 00 12 00 08 00 2d | 2d 2d 20 63 6f 6d 70 61 | v.....-|-- compa|
|00002490| 72 65 20 74 68 65 6d 00 | 20 0b 18 b4 04 dc 00 0b |re them.| .......|
|000024a0| 18 06 02 a6 00 45 00 96 | 03 3d 00 36 04 00 1c 00 |.....E..|.=.6....|
|000024b0| 18 4d 00 ff ff 01 00 76 | 00 08 00 0b 00 46 6c 64 |.M.....v|.....Fld|
|000024c0| 4e 75 6d 00 0c 00 10 38 | 00 76 00 0d 00 0b 00 66 |Num....8|.v.....f|
|000024d0| 6c 64 6e 75 6d 20 3c 3e | 20 30 00 00 00 00 10 76 |ldnum <>| 0.....v|
|000024e0| 00 2d 00 04 00 2d 2d 2d | 20 69 66 20 79 6f 75 20 |.-...---| if you |
|000024f0| 67 6f 74 20 68 65 72 65 | 20 74 68 65 6e 20 74 68 |got here| then th|
|00002500| 65 72 65 20 77 61 73 20 | 61 6e 20 65 72 72 6f 72 |ere was |an error|
|00002510| 65 00 10 e4 00 0c 00 16 | 04 00 10 e5 00 bc 0b 24 |e.......|.......$|
|00002520| 00 01 00 c9 00 76 00 17 | 00 30 00 66 69 65 6c 64 |.....v..|.0.field|
|00002530| 20 6e 6f 74 20 66 6f 75 | 6e 64 20 65 72 72 6f 72 | not fou|nd error|
|00002540| 65 00 00 00 00 39 00 09 | 00 08 00 ff ff ff ff ff |e....9..|........|
|00002550| ff ff ff 2d 00 00 00 03 | 00 00 0a 00 47 65 74 52 |...-....|....GetR|
|00002560| 65 63 53 69 7a 65 01 08 | 30 04 01 0a 01 18 00 00 |ecSize..|0.......|
|00002570| 00 58 00 16 00 24 05 00 | 01 02 00 7f 00 00 00 01 |.X...$..|........|
|00002580| 00 00 00 35 01 00 00 01 | 00 00 00 00 00 00 14 76 |...5....|.......v|
|00002590| 00 02 00 05 00 00 14 76 | 00 25 00 05 00 47 65 74 |.......v|.%...Get|
|000025a0| 73 20 72 65 63 6f 72 64 | 20 73 69 7a 65 20 66 72 |s record| size fr|
|000025b0| 6f 6d 20 61 20 44 42 46 | 20 68 65 61 64 65 72 2e |om a DBF| header.|
|000025c0| 73 00 14 76 00 02 00 05 | 00 00 10 00 14 76 00 1c |s..v....|.....v..|
|000025d0| 00 05 00 2d 2d 2d 20 72 | 65 61 64 20 68 65 61 64 |...--- r|ead head|
|000025e0| 65 72 20 26 20 67 65 74 | 20 73 69 7a 65 00 14 e4 |er & get| size...|
|000025f0| 08 d3 00 0c 18 55 02 76 | 00 0f 00 28 00 32 20 62 |.....U.v|...(.2 b|
|00002600| 79 74 65 20 6e 75 6d 62 | 65 72 69 00 14 0b 00 7f |yte numb|eri.....|
|00002610| 00 e5 00 0b 00 0b 18 55 | 02 24 00 03 00 f5 01 76 |.......U|.$.....v|
|00002620| 00 09 00 28 00 72 65 61 | 64 20 69 74 6d 00 14 0b |...(.rea|d itm...|
|00002630| 18 55 02 0e 00 01 00 68 | 02 0c 00 35 01 76 00 23 |.U.....h|...5.v.#|
|00002640| 00 28 00 63 6f 6e 76 65 | 72 74 20 69 74 20 66 72 |.(.conve|rt it fr|
|00002650| 6f 6d 20 42 43 44 20 69 | 6e 74 6f 20 61 20 6e 75 |om BCD i|nto a nu|
|00002660| 6d 62 65 72 65 00 00 00 | 00 39 00 09 00 08 00 ff |mbere...|.9......|
|00002670| ff ff ff ff ff ff ff 0c | 00 00 00 03 00 00 0e 00 |........|........|
|00002680| 43 72 65 61 74 65 44 61 | 74 61 42 61 73 65 01 08 |CreateDa|taBase..|
|00002690| 30 38 0a 88 0a 18 00 00 | 00 58 00 16 00 32 05 00 |08......|.X...2..|
|000026a0| 01 02 00 74 00 00 02 06 | 00 00 00 51 05 00 00 01 |...t....|...Q....|
|000026b0| 00 00 00 00 08 00 0c 76 | 00 02 00 03 00 00 0c 76 |.......v|.......v|
|000026c0| 00 49 00 03 00 54 68 69 | 73 20 72 6f 75 74 69 6e |.I...Thi|s routin|
|000026d0| 65 20 63 72 65 61 74 65 | 73 20 61 20 44 42 46 20 |e create|s a DBF |
|000026e0| 75 73 69 6e 67 20 74 68 | 65 20 73 74 75 63 74 75 |using th|e stuctu|
|000026f0| 72 65 20 66 6f 75 6e 64 | 20 69 6e 20 46 6c 64 28 |re found| in Fld(|
|00002700| 29 20 74 79 70 65 20 61 | 72 72 61 79 62 00 0c 76 |) type a|rrayb..v|
|00002710| 00 48 00 03 00 77 69 74 | 68 20 74 68 65 20 6e 61 |.H...wit|h the na|
|00002720| 6d 65 20 44 42 46 4e 61 | 6d 65 24 2e 20 54 68 65 |me DBFNa|me$. The|
|00002730| 20 44 42 46 20 66 69 6c | 65 20 77 69 6c 6c 20 63 | DBF fil|e will c|
|00002740| 6f 6e 74 61 69 6e 20 6e | 6f 20 72 65 63 6f 72 64 |ontain n|o record|
|00002750| 73 2e 20 54 68 65 20 66 | 69 6c 65 00 0c 76 00 44 |s. The f|ile..v.D|
|00002760| 00 03 00 77 69 6c 6c 20 | 62 65 20 61 20 74 6f 74 |...will |be a tot|
|00002770| 61 6c 6c 79 20 76 61 6c | 69 64 20 64 42 41 53 45 |ally val|id dBASE|
|00002780| 20 49 49 49 2b 20 74 79 | 70 65 20 66 69 6c 65 2e | III+ ty|pe file.|
|00002790| 20 54 68 65 20 66 69 6c | 65 20 77 69 6c 6c 20 6e | The fil|e will n|
|000027a0| 6f 74 20 62 65 00 0c 76 | 00 1d 00 03 00 6f 70 65 |ot be..v|.....ope|
|000027b0| 6e 65 64 20 62 79 20 74 | 68 69 73 20 63 61 6c 6c |ned by t|his call|
|000027c0| 20 74 68 6f 75 67 68 2e | 53 00 0c 76 00 02 00 03 | though.|S..v....|
|000027d0| 00 00 0c 76 00 0b 00 03 | 00 4f 6e 20 65 6e 74 72 |...v....|.On entr|
|000027e0| 79 3a 20 00 0c 76 00 02 | 00 03 00 00 0c 76 00 44 |y: ..v..|.....v.D|
|000027f0| 00 03 00 0d 04 20 4d 6f | 64 65 20 3d 20 30 20 2d |..... Mo|de = 0 -|
|00002800| 3e 20 43 72 65 61 74 65 | 20 44 42 46 20 69 66 20 |> Create| DBF if |
|00002810| 6e 6f 74 20 61 6c 72 65 | 61 64 79 20 65 78 69 73 |not alre|ady exis|
|00002820| 74 20 2d 2d 20 69 66 20 | 65 78 69 73 74 20 74 68 |t -- if |exist th|
|00002830| 65 6e 20 64 6f 00 0c 76 | 00 2b 00 03 00 0d 10 20 |en do..v|.+..... |
|00002840| 6e 6f 74 68 69 6e 67 20 | 61 6e 64 20 65 78 69 74 |nothing |and exit|
|00002850| 20 69 6d 6d 65 64 69 61 | 74 6c 79 2e 20 28 64 65 | immedia|tly. (de|
|00002860| 66 61 75 6c 74 29 65 00 | 0c 76 00 02 00 03 00 00 |fault)e.|.v......|
|00002870| 0c 76 00 34 00 03 00 0d | 04 20 4d 6f 64 65 20 3d |.v.4....|. Mode =|
|00002880| 20 31 20 2d 3e 20 45 72 | 61 73 65 20 6f 6c 64 2c | 1 -> Er|ase old,|
|00002890| 20 69 66 20 61 6e 79 2c | 20 74 68 65 6e 20 63 72 | if any,| then cr|
|000028a0| 65 61 74 65 20 6e 65 77 | 2e 00 0c 76 00 02 00 03 |eate new|...v....|
|000028b0| 00 00 0c 76 00 3d 00 03 | 00 4e 4f 54 45 3a 20 54 |...v.=..|.NOTE: T|
|000028c0| 68 65 20 46 6c 64 28 29 | 20 74 79 70 65 20 61 72 |he Fld()| type ar|
|000028d0| 72 61 79 20 4d 55 53 54 | 20 62 65 20 70 72 65 73 |ray MUST| be pres|
|000028e0| 65 74 20 62 65 66 6f 72 | 65 20 74 68 69 73 20 63 |et befor|e this c|
|000028f0| 61 6c 6c 2e 74 00 0c 76 | 00 02 00 03 00 00 0c 76 |all.t..v|.......v|
|00002900| 00 48 00 03 00 4e 4f 54 | 45 3a 20 64 42 41 53 45 |.H...NOT|E: dBASE|
|00002910| 20 66 69 65 6c 64 73 20 | 75 73 65 20 4e 55 4c 4c | fields |use NULL|
|00002920| 53 20 28 43 48 52 24 28 | 30 29 29 20 6e 6f 74 20 |S (CHR$(|0)) not |
|00002930| 53 50 41 43 45 53 20 28 | 43 48 52 24 28 33 32 29 |SPACES (|CHR$(32)|
|00002940| 29 20 2d 2d 20 64 6f 20 | 6e 6f 74 00 0c 76 00 11 |) -- do |not..v..|
|00002950| 00 03 00 0d 06 20 63 68 | 61 6e 67 65 20 74 68 69 |..... ch|ange thi|
|00002960| 73 2e 6c 00 0c 76 00 02 | 00 03 00 00 08 00 0c 76 |s.l..v..|.......v|
|00002970| 00 18 00 03 00 2d 2d 2d | 6d 61 6b 65 20 73 6f 6d |.....---|make som|
|00002980| 65 20 76 61 72 69 61 62 | 6c 65 73 00 0c e5 00 21 |e variab|les....!|
|00002990| 00 0c 08 c6 01 76 00 19 | 00 30 00 66 69 65 6c 64 |.....v..|.0.field|
|000029a0| 73 20 73 74 61 72 74 20 | 61 74 20 62 79 74 65 20 |s start |at byte |
|000029b0| 33 33 4d 00 0c 0e 00 00 | 80 f3 00 da 00 0c 00 59 |33M.....|.......Y|
|000029c0| 05 76 00 12 00 30 00 6e | 75 6d 62 65 72 20 6f 66 |.v...0.n|umber of|
|000029d0| 20 66 69 65 6c 64 73 00 | 08 00 0c 76 00 10 00 03 | fields.|...v....|
|000029e0| 00 2d 2d 2d 20 63 68 65 | 63 6b 20 6d 6f 64 65 00 |.--- che|ck mode.|
|000029f0| 0c 0b 18 74 00 0e 00 01 | 00 b5 00 49 00 b6 03 76 |...t....|...I...v|
|00002a00| 00 0d 00 30 00 44 42 46 | 20 65 78 69 73 74 73 3f |...0.DBF| exists?|
|00002a10| 6c 00 14 0b 00 51 05 e4 | 04 a6 00 45 00 b0 03 0b |l....Q..|...E....|
|00002a20| 18 74 00 83 00 76 00 15 | 00 30 00 6d 6f 64 65 20 |.t...v..|.0.mode |
|00002a30| 31 20 6d 65 61 6e 73 20 | 5a 41 50 20 69 74 20 00 |1 means |ZAP it .|
|00002a40| 0c 32 00 e8 03 76 00 0c | 00 30 00 6e 6f 74 20 65 |.2...v..|.0.not e|
|00002a50| 78 69 73 74 3f 00 14 3d | 00 88 0a 76 00 13 00 30 |xist?..=|...v...0|
|00002a60| 00 6d 6f 64 65 20 30 20 | 6d 65 61 6e 73 20 65 78 |.mode 0 |means ex|
|00002a70| 69 74 00 00 0c 38 00 00 | 08 00 0c 76 00 0e 00 03 |it...8..|...v....|
|00002a80| 00 2d 2d 2d 20 6f 70 65 | 6e 20 44 42 46 00 0c 0b |.--- ope|n DBF...|
|00002a90| 18 74 00 0b 00 7f 00 24 | 00 02 00 70 05 76 00 12 |.t.....$|...p.v..|
|00002aa0| 00 30 00 5a 41 50 20 61 | 6e 64 20 6f 70 65 6e 20 |.0.ZAP a|nd open |
|00002ab0| 44 42 46 00 00 00 0c 76 | 00 16 00 03 00 2d 2d 2d |DBF....v|.....---|
|00002ac0| 20 77 72 69 74 65 20 64 | 62 66 20 68 65 61 64 65 | write d|bf heade|
|00002ad0| 72 00 0c e5 00 21 00 0b | 00 59 05 e5 00 20 00 f0 |r....!..|.Y... ..|
|00002ae0| 00 ee 00 a3 00 0c 08 40 | 01 76 00 0a 00 30 00 68 |.......@|.v...0.h|
|00002af0| 65 61 64 73 69 7a 65 00 | 0c 0b 08 40 01 e4 00 d6 |eadsize.|...@....|
|00002b00| 00 0c 18 55 02 76 00 13 | 00 30 00 6d 61 6b 65 20 |...U.v..|.0.make |
|00002b10| 68 65 61 64 65 72 20 62 | 6c 61 6e 6b 73 00 0c e4 |header b|lanks...|
|00002b20| 04 e4 0c ac 00 0b 18 55 | 02 8a 00 76 00 17 00 30 |.......U|...v...0|
|00002b30| 00 61 64 64 20 6d 61 72 | 6b 65 72 20 2d 2d 20 43 |.add mar|ker -- C|
|00002b40| 48 52 24 28 33 29 50 00 | 0c 0b 00 7f 00 e4 04 0b |HR$(3)P.|........|
|00002b50| 18 55 02 24 00 03 00 42 | 04 76 00 0a 00 30 00 77 |.U.$...B|.v...0.w|
|00002b60| 72 69 74 65 20 69 74 00 | 0c 00 0c 76 00 14 00 03 |rite it.|...v....|
|00002b70| 00 2d 2d 2d 20 67 65 74 | 20 66 69 65 6c 64 20 64 |.--- get| field d|
|00002b80| 61 74 61 00 0c 0b 00 7f | 00 0b 08 c6 01 9c 00 76 |ata.....|.......v|
|00002b90| 00 1a 00 30 00 67 6f 74 | 6f 20 73 74 61 72 74 20 |...0.got|o start |
|00002ba0| 6f 66 20 66 69 65 6c 64 | 20 69 6e 66 6f 00 00 00 |of field| info...|
|00002bb0| 0c 76 00 27 00 03 00 2d | 2d 2d 20 6c 65 74 73 20 |.v.'...-|-- lets |
|00002bc0| 70 6c 61 79 20 2e 20 2e | 20 2e 20 22 62 75 69 6c |play . .| . "buil|
|00002bd0| 64 20 61 20 68 65 61 64 | 65 72 21 22 6f 00 0c 0b |d a head|er!"o...|
|00002be0| 00 be 01 e4 04 0b 00 59 | 05 3e 00 ff ff 2e 07 00 |.......Y|.>......|
|00002bf0| 10 00 14 76 00 1e 00 05 | 00 2d 2d 2d 20 33 32 20 |...v....|.--- 32 |
|00002c00| 62 79 74 65 20 66 69 65 | 6c 64 20 64 65 73 63 72 |byte fie|ld descr|
|00002c10| 69 70 74 6f 72 00 14 e5 | 00 20 00 e4 00 d6 00 0c |iptor...|. ......|
|00002c20| 18 55 02 76 00 1a 00 2f | 00 6d 61 6b 65 20 4e 55 |.U.v.../|.make NU|
|00002c30| 4c 4c 20 66 69 65 6c 64 | 20 64 65 73 63 72 69 70 |LL field| descrip|
|00002c40| 2e 00 00 00 14 76 00 17 | 00 05 00 2d 2d 2d 20 66 |.....v..|...--- f|
|00002c50| 69 65 6c 64 20 64 65 66 | 69 6e 69 74 69 6f 6e 73 |ield def|initions|
|00002c60| 33 00 14 e4 04 e5 00 0b | 00 0b 00 be 01 0e 00 01 |3.......|........|
|00002c70| 00 f3 00 11 00 67 01 dc | 00 0e 18 01 00 ad 00 0b |.....g..|........|
|00002c80| 18 55 02 8b 00 00 14 e5 | 00 0c 00 e4 04 0b 00 be |.U......|........|
|00002c90| 01 0e 00 01 00 f3 00 11 | 00 5e 01 dc 00 0b 18 55 |........|.^.....U|
|00002ca0| 02 8b 00 00 14 e5 00 11 | 00 e4 04 0b 00 be 01 0e |........|........|
|00002cb0| 00 01 00 f3 00 11 00 56 | 01 ee 00 ac 00 dc 00 0b |.......V|........|
|00002cc0| 18 55 02 8b 00 00 14 e5 | 00 12 00 e4 04 0b 00 be |.U......|........|
|00002cd0| 01 0e 00 01 00 f3 00 11 | 00 fa 00 ee 00 ac 00 dc |........|........|
|00002ce0| 00 0b 18 55 02 8b 00 00 | 0c 00 14 76 00 1c 00 05 |...U....|...v....|
|00002cf0| 00 2d 2d 2d 20 77 72 69 | 74 65 20 66 69 65 6c 64 |.--- wri|te field|
|00002d00| 20 64 65 73 63 72 69 70 | 74 6f 72 00 14 0b 00 7f | descrip|tor.....|
|00002d10| 00 0b 18 55 02 94 00 00 | 00 76 00 18 00 30 00 77 |...U....|.v...0.w|
|00002d20| 72 69 74 65 20 66 69 65 | 6c 64 20 64 65 73 63 72 |rite fie|ld descr|
|00002d30| 69 70 74 6f 72 00 00 00 | 14 76 00 15 00 05 00 2d |iptor...|.v.....-|
|00002d40| 2d 2d 20 67 65 6e 20 72 | 65 63 6f 72 64 20 73 69 |-- gen r|ecord si|
|00002d50| 7a 65 2c 00 14 0b 08 35 | 01 0b 00 be 01 0e 00 01 |ze,....5|........|
|00002d60| 00 f3 00 11 00 56 01 a3 | 00 0c 08 35 01 76 00 17 |.....V..|...5.v..|
|00002d70| 00 30 00 64 65 74 65 72 | 6d 69 6e 65 20 72 65 63 |.0.deter|mine rec|
|00002d80| 6f 72 64 20 73 69 7a 65 | 20 00 04 00 08 4d 00 ff |ord size| ....M..|
|00002d90| ff 01 00 76 00 06 00 08 | 00 66 6c 64 73 00 04 00 |...v....|.flds...|
|00002da0| 08 76 00 19 00 02 00 2d | 2d 2d 20 77 72 69 74 65 |.v.....-|-- write|
|00002db0| 20 65 6e 64 2d 6f 66 2d | 68 65 61 64 65 72 00 00 | end-of-|header..|
|00002dc0| 08 e5 00 0d 00 ac 00 0c | 18 55 02 76 00 1d 00 30 |........|.U.v...0|
|00002dd0| 00 49 49 49 2b 20 68 61 | 73 20 43 52 20 40 20 65 |.III+ ha|s CR @ e|
|00002de0| 6e 64 20 6f 66 20 68 65 | 61 64 65 72 20 00 08 0b |nd of he|ader ...|
|00002df0| 00 7f 00 0b 08 40 01 e4 | 04 f7 00 0b 18 55 02 24 |.....@..|.....U.$|
|00002e00| 00 03 00 42 04 76 00 10 | 00 30 00 77 72 69 74 65 |...B.v..|.0.write|
|00002e10| 20 43 48 52 24 28 31 33 | 29 00 04 00 08 76 00 17 | CHR$(13|)....v..|
|00002e20| 00 02 00 2d 2d 2d 20 77 | 72 69 74 65 20 72 65 63 |...--- w|rite rec|
|00002e30| 6f 72 64 20 73 69 7a 65 | 64 00 08 0b 08 35 01 e4 |ord size|d....5..|
|00002e40| 04 a3 00 0e 00 01 00 97 | 04 0c 18 55 02 76 00 09 |........|...U.v..|
|00002e50| 00 30 00 2d 2d 3e 20 42 | 43 44 68 00 08 0b 18 55 |.0.--> B|CDh....U|
|00002e60| 02 c2 00 06 05 e4 04 a6 | 00 45 00 46 08 0b 18 55 |........|.E.F...U|
|00002e70| 02 e4 00 ac 00 a3 00 0c | 18 55 02 76 00 19 00 30 |........|.U.v...0|
|00002e80| 00 61 70 70 65 6e 64 20 | 4e 55 4c 4c 20 28 69 66 |.append |NULL (if|
|00002e90| 20 6e 65 65 64 65 64 29 | 65 00 08 0b 00 7f 00 e4 | needed)|e.......|
|00002ea0| 28 0b 18 55 02 24 00 03 | 00 42 04 76 00 16 00 30 |(..U.$..|.B.v...0|
|00002eb0| 00 73 74 61 72 74 20 6f | 66 20 68 65 61 64 65 72 |.start o|f header|
|00002ec0| 20 73 69 7a 65 00 04 00 | 08 76 00 15 00 02 00 2d | size...|.v.....-|
|00002ed0| 2d 2d 20 77 72 69 74 65 | 20 68 65 61 64 20 73 69 |-- write| head si|
|00002ee0| 7a 65 30 00 08 0b 08 40 | 01 0e 00 01 00 97 04 0c |ze0....@|........|
|00002ef0| 18 55 02 76 00 09 00 30 | 00 2d 2d 3e 20 42 43 44 |.U.v...0|.--> BCD|
|00002f00| 20 00 08 0b 18 55 02 c2 | 00 06 05 e4 04 a6 00 45 | ....U..|.......E|
|00002f10| 00 f6 08 0b 18 55 02 e4 | 00 ac 00 a3 00 0c 18 55 |.....U..|.......U|
|00002f20| 02 76 00 19 00 30 00 61 | 70 70 65 6e 64 20 4e 55 |.v...0.a|ppend NU|
|00002f30| 4c 4c 20 28 69 66 20 6e | 65 65 64 65 64 29 65 00 |LL (if n|eeded)e.|
|00002f40| 08 0b 00 7f 00 e4 24 0b | 18 55 02 24 00 03 00 42 |......$.|.U.$...B|
|00002f50| 04 76 00 16 00 30 00 73 | 74 61 72 74 20 6f 66 20 |.v...0.s|tart of |
|00002f60| 68 65 61 64 65 72 20 73 | 69 7a 65 00 04 00 08 76 |header s|ize....v|
|00002f70| 00 19 00 02 00 2d 2d 2d | 20 77 72 69 74 65 20 65 |.....---| write e|
|00002f80| 6e 64 20 6f 66 20 68 65 | 61 64 65 72 70 00 08 e5 |nd of he|aderp...|
|00002f90| 00 1a 00 ac 00 0c 18 55 | 02 76 00 05 00 30 00 45 |.......U|.v...0.E|
|00002fa0| 4f 46 00 00 08 0b 00 7f | 00 0b 08 40 01 0b 18 55 |OF......|...@...U|
|00002fb0| 02 24 00 03 00 42 04 76 | 00 0b 00 30 00 77 72 69 |.$...B.v|...0.wri|
|00002fc0| 74 65 20 45 4f 46 61 00 | 04 00 08 76 00 1a 00 02 |te EOFa.|...v....|
|00002fd0| 00 2d 2d 2d 20 73 74 61 | 6d 70 20 72 65 63 6f 72 |.--- sta|mp recor|
|00002fe0| 64 73 20 26 20 64 61 74 | 65 00 08 0b 00 7f 00 e4 |ds & dat|e.......|
|00002ff0| 00 24 00 02 00 4f 04 76 | 00 18 00 30 00 73 74 61 |.$...O.v|...0.sta|
|00003000| 6d 70 20 68 65 61 64 65 | 72 20 77 2f 63 6f 75 6e |mp heade|r w/coun|
|00003010| 74 20 30 00 08 0b 00 7f | 00 24 00 01 00 5e 04 76 |t 0.....|.$...^.v|
|00003020| 00 15 00 30 00 73 74 61 | 6d 70 20 68 65 61 64 65 |...0.sta|mp heade|
|00003030| 72 20 77 2f 64 61 74 65 | 75 00 04 00 08 76 00 17 |r w/date|u....v..|
|00003040| 00 02 00 2d 2d 2d 20 63 | 6c 6f 73 65 20 66 69 6c |...--- c|lose fil|
|00003050| 65 20 26 20 65 78 69 74 | 72 00 08 0b 00 7f 00 7b |e & exit|r......{|
|00003060| 00 01 00 76 00 14 00 30 | 00 63 6c 6f 73 65 20 6e |...v...0|.close n|
|00003070| 65 77 20 64 61 74 61 62 | 61 73 65 00 00 00 08 76 |ew datab|ase....v|
|00003080| 00 3d 00 02 00 74 68 61 | 74 73 20 61 6c 6c 20 66 |.=...tha|ts all f|
|00003090| 6f 6c 6b 65 73 21 20 2d | 20 59 6f 75 20 6e 6f 77 |olkes! -| You now|
|000030a0| 20 68 61 76 65 20 61 20 | 52 45 41 4c 20 64 42 41 | have a |REAL dBA|
|000030b0| 53 45 20 49 49 49 2b 20 | 64 61 74 61 62 61 73 65 |SE III+ |database|
|000030c0| 00 00 00 00 00 39 00 09 | 00 08 00 ff ff ff ff ff |.....9..|........|
|000030d0| ff ff ff 5c 00 00 00 03 | 00 00 0a 00 47 65 74 4d |...\....|....GetM|
|000030e0| 65 6d 6f 50 74 72 01 08 | 30 0a 01 28 01 18 00 00 |emoPtr..|0..(....|
|000030f0| 00 58 00 0e 00 db 05 00 | 01 01 00 e9 05 00 00 01 |.X......|........|
|00003100| 00 00 00 00 2c 00 20 76 | 00 02 00 08 00 00 20 76 |....,. v|...... v|
|00003110| 00 13 00 08 00 47 65 74 | 20 77 2f 77 6f 20 64 62 |.....Get| w/wo db|
|00003120| 74 20 66 69 6c 65 20 00 | 20 76 00 02 00 08 00 00 |t file .| v......|
|00003130| 00 00 20 76 00 11 00 08 | 00 2d 2d 2d 20 52 65 61 |.. v....|.--- Rea|
|00003140| 64 20 31 20 62 79 74 65 | 74 00 20 e4 04 d3 00 0c |d 1 byte|t. .....|
|00003150| 18 55 02 00 20 0b 00 12 | 01 e4 04 0b 18 55 02 24 |.U.. ...|.....U.$|
|00003160| 00 03 00 f5 01 00 10 00 | 20 76 00 24 00 08 00 2d |........| v.$...-|
|00003170| 2d 2d 20 63 68 65 63 6b | 20 69 66 20 6d 65 6d 6f |-- check| if memo|
|00003180| 20 66 69 6c 65 20 28 2e | 44 42 54 20 66 69 6c 65 | file (.|DBT file|
|00003190| 29 00 20 0b 18 55 02 56 | 00 be 00 00 20 e4 0c ac |). ..U.V|.... ...|
|000031a0| 00 26 00 00 28 e4 00 0c | 00 e9 05 76 00 04 00 14 |.&..(...|...v....|
|000031b0| 00 6e 6f 00 20 e5 00 83 | 00 ac 00 26 00 00 28 e4 |.no. ...|...&..(.|
|000031c0| 04 0c 00 e9 05 76 00 05 | 00 14 00 79 65 73 00 00 |.....v..|...yes..|
|000031d0| 20 25 00 00 28 e4 04 f9 | 00 0c 00 e9 05 76 00 05 | %..(...|.....v..|
|000031e0| 00 14 00 62 61 64 00 00 | 20 3a 00 00 00 00 00 39 |...bad..| :.....9|
|000031f0| 00 09 00 08 00 ff ff ff | ff ff ff ff ff 15 00 00 |........|........|
|00003200| 00 03 00 00 08 00 50 75 | 74 46 69 65 6c 64 01 08 |......Pu|tField..|
|00003210| 30 2c 03 2c 03 18 00 00 | 00 58 00 26 00 fb 05 00 |0,.,....|.X.&....|
|00003220| 01 04 00 7f 00 00 00 01 | 00 00 00 f5 03 00 02 06 |........|........|
|00003230| 00 00 00 0f 06 00 00 01 | 00 00 00 20 04 00 02 06 |........|... ....|
|00003240| 00 00 00 00 08 00 0c 76 | 00 02 00 03 00 00 0c 76 |.......v|.......v|
|00003250| 00 42 00 03 00 50 75 74 | 73 20 74 68 65 20 63 6f |.B...Put|s the co|
|00003260| 6e 74 65 6e 74 73 20 6f | 66 20 46 6c 64 44 61 74 |ntents o|f FldDat|
|00003270| 61 24 20 69 6e 74 6f 20 | 66 69 65 6c 64 20 46 6c |a$ into |field Fl|
|00003280| 64 20 6f 66 20 72 65 63 | 6f 72 64 20 52 65 63 44 |d of rec|ord RecD|
|00003290| 61 74 61 24 2e 00 0c 76 | 00 47 00 03 00 55 73 65 |ata$...v|.G...Use|
|000032a0| 73 20 4d 41 58 42 41 53 | 49 43 20 46 6c 64 49 6e |s MAXBAS|IC FldIn|
|000032b0| 66 6f 20 46 6c 64 28 29 | 20 74 79 70 65 20 61 72 |fo Fld()| type ar|
|000032c0| 72 61 79 2e 20 46 6c 64 | 44 61 74 61 24 20 77 69 |ray. Fld|Data$ wi|
|000032d0| 6c 6c 20 62 65 20 74 72 | 75 6e 63 61 74 65 64 20 |ll be tr|uncated |
|000032e0| 74 6f 00 00 0c 76 00 28 | 00 03 00 66 69 74 20 69 |to...v.(|...fit i|
|000032f0| 6e 74 6f 20 69 74 27 73 | 20 44 42 46 20 66 69 65 |nto it's| DBF fie|
|00003300| 6c 64 73 20 64 65 66 69 | 6e 65 64 20 61 72 65 61 |lds defi|ned area|
|00003310| 2e 00 0c 76 00 02 00 03 | 00 00 0c 76 00 46 00 03 |...v....|...v.F..|
|00003320| 00 4e 4f 54 45 3a 20 59 | 6f 75 20 6d 75 73 74 20 |.NOTE: Y|ou must |
|00003330| 68 61 76 65 20 6f 70 65 | 6e 65 64 20 61 20 64 61 |have ope|ned a da|
|00003340| 74 61 62 61 73 65 20 74 | 6f 20 64 6f 20 74 68 69 |tabase t|o do thi|
|00003350| 73 2e 20 41 6c 73 6f 2c | 20 74 68 69 73 20 64 61 |s. Also,| this da|
|00003360| 74 61 20 69 73 00 0c 76 | 00 35 00 03 00 0d 06 20 |ta is..v|.5..... |
|00003370| 4e 4f 54 20 77 72 69 74 | 74 65 6e 20 74 6f 20 64 |NOT writ|ten to d|
|00003380| 69 73 6b 20 75 6e 74 69 | 6c 20 79 6f 75 20 75 73 |isk unti|l you us|
|00003390| 65 20 61 20 50 75 74 52 | 65 63 20 63 61 6c 6c 2e |e a PutR|ec call.|
|000033a0| 6c 00 0c 76 00 02 00 03 | 00 00 08 00 0c 76 00 16 |l..v....|.....v..|
|000033b0| 00 03 00 2d 2d 2d 20 73 | 61 76 65 20 66 69 6c 65 |...--- s|ave file|
|000033c0| 20 6e 75 6d 62 65 72 00 | 0c 18 01 d2 01 0d 00 d9 | number.|........|
|000033d0| 03 76 00 10 00 30 00 73 | 61 76 65 20 66 6f 72 20 |.v...0.s|ave for |
|000033e0| 6c 61 74 65 72 00 08 00 | 0c 76 00 18 00 03 00 2d |later...|.v.....-|
|000033f0| 2d 2d 20 67 65 74 20 44 | 42 46 20 64 65 66 69 6e |-- get D|BF defin|
|00003400| 69 74 69 6f 6e 00 0c 0b | 00 d9 03 0b 00 7f 00 f1 |ition...|........|
|00003410| 00 45 00 2e 02 0b 00 7f | 00 24 00 01 00 e4 00 76 |.E......|.$.....v|
|00003420| 00 1e 00 30 00 67 65 74 | 20 44 42 46 20 64 65 66 |...0.get| DBF def|
|00003430| 69 6e 69 74 69 6f 6e 20 | 69 73 20 6e 65 65 64 65 |inition |is neede|
|00003440| 64 00 0c 0b 00 7f 00 0c | 00 d9 03 76 00 12 00 30 |d.......|...v...0|
|00003450| 00 73 61 76 65 20 66 69 | 6c 65 20 6e 75 6d 62 65 |.save fi|le numbe|
|00003460| 72 00 08 00 0c 76 00 29 | 00 03 00 2d 2d 2d 20 6d |r....v.)|...--- m|
|00003470| 61 6b 65 20 61 20 73 74 | 72 69 6e 67 20 74 68 65 |ake a st|ring the|
|00003480| 20 66 69 65 6c 64 20 6c | 65 6e 67 74 68 20 6c 6f | field l|ength lo|
|00003490| 6e 67 69 00 0c 0b 00 0f | 06 0e 00 01 00 f3 00 11 |ngi.....|........|
|000034a0| 00 56 01 e4 00 d6 00 0c | 18 20 04 76 00 14 00 30 |.V......|. .v...0|
|000034b0| 00 6d 61 6b 65 20 61 20 | 4e 55 4c 4c 20 73 74 72 |.make a |NULL str|
|000034c0| 69 6e 67 00 0c 0b 18 20 | 04 0b 18 20 04 89 00 76 |ing.... |... ...v|
|000034d0| 00 13 00 30 00 61 73 73 | 69 67 6e 20 74 68 65 20 |...0.ass|ign the |
|000034e0| 6e 75 6d 62 65 72 61 00 | 00 00 0c 76 00 1d 00 03 |numbera.|...v....|
|000034f0| 00 2d 2d 2d 20 61 73 73 | 69 67 6e 20 69 74 20 74 |.--- ass|ign it t|
|00003500| 6f 20 74 68 65 20 72 65 | 63 6f 72 64 61 00 0c 0b |o the re|corda...|
|00003510| 00 0f 06 0e 00 01 00 f3 | 00 11 00 4c 01 0b 00 0f |........|...L....|
|00003520| 06 0e 00 01 00 f3 00 11 | 00 56 01 0b 18 20 04 0b |........|.V... ..|
|00003530| 18 f5 03 8b 00 00 08 00 | 00 39 00 09 00 08 00 ff |........|.9......|
|00003540| ff ff ff ff ff ff ff 1a | 00 00 00 03 00 00 08 00 |........|........|
|00003550| 47 65 74 46 69 65 6c 64 | 01 08 30 90 03 90 03 18 |GetField|..0.....|
|00003560| 00 00 00 58 00 26 00 0a | 04 00 01 04 00 7f 00 00 |...X.&..|........|
|00003570| 00 01 00 00 00 f5 03 00 | 02 06 00 00 00 16 04 00 |........|........|
|00003580| 00 01 00 00 00 20 04 00 | 02 06 00 00 00 00 00 00 |..... ..|........|
|00003590| 0c 76 00 02 00 03 00 00 | 0c 76 00 3a 00 03 00 52 |.v......|.v.:...R|
|000035a0| 65 74 75 72 6e 73 20 74 | 68 65 20 63 6f 6e 74 65 |eturns t|he conte|
|000035b0| 6e 74 73 20 6f 66 20 66 | 69 65 6c 64 20 46 6c 64 |nts of f|ield Fld|
|000035c0| 20 66 72 6f 6d 20 72 65 | 63 6f 72 64 20 52 65 63 | from re|cord Rec|
|000035d0| 6f 72 64 24 20 69 6e 00 | 0c 76 00 3c 00 03 00 76 |ord$ in.|.v.<...v|
|000035e0| 61 72 69 61 62 6c 65 20 | 46 6c 64 44 61 74 61 24 |ariable |FldData$|
|000035f0| 2e 20 55 73 65 73 20 4d | 41 58 42 41 53 49 43 20 |. Uses M|AXBASIC |
|00003600| 46 6c 64 49 6e 66 6f 20 | 46 6c 64 28 29 20 74 79 |FldInfo |Fld() ty|
|00003610| 70 65 20 61 72 72 61 79 | 2e 00 0c 76 00 02 00 03 |pe array|...v....|
|00003620| 00 00 0c 76 00 41 00 03 | 00 4e 4f 54 45 3a 20 59 |...v.A..|.NOTE: Y|
|00003630| 6f 75 20 6d 75 73 74 20 | 68 61 76 65 20 6f 70 65 |ou must |have ope|
|00003640| 6e 65 64 20 61 20 64 61 | 74 61 62 61 73 65 20 61 |ned a da|tabase a|
|00003650| 6e 64 20 67 6f 74 74 65 | 6e 20 61 20 72 65 63 6f |nd gotte|n a reco|
|00003660| 72 64 20 75 73 69 6e 67 | 00 00 0c 76 00 3a 00 03 |rd using|...v.:..|
|00003670| 00 0d 06 20 47 65 74 52 | 65 63 20 74 6f 20 64 6f |... GetR|ec to do|
|00003680| 20 74 68 69 73 20 2d 20 | 6f 74 68 65 72 77 69 73 | this - |otherwis|
|00003690| 65 20 46 6c 64 44 61 74 | 61 24 20 77 69 6c 6c 20 |e FldDat|a$ will |
|000036a0| 62 65 20 62 6f 67 75 73 | 2e 00 0c 76 00 02 00 03 |be bogus|...v....|
|000036b0| 00 00 00 00 0c 76 00 16 | 00 03 00 2d 2d 2d 20 73 |.....v..|...--- s|
|000036c0| 61 76 65 20 66 69 6c 65 | 20 6e 75 6d 62 65 72 00 |ave file| number.|
|000036d0| 0c 18 01 90 01 0d 00 d9 | 03 76 00 10 00 30 00 73 |........|.v...0.s|
|000036e0| 61 76 65 20 66 6f 72 20 | 6c 61 74 65 72 00 00 00 |ave for |later...|
|000036f0| 0c 76 00 18 00 03 00 2d | 2d 2d 20 67 65 74 20 44 |.v.....-|-- get D|
|00003700| 42 46 20 64 65 66 69 6e | 69 74 69 6f 6e 00 0c 0b |BF defin|ition...|
|00003710| 00 d9 03 0b 00 7f 00 f1 | 00 45 00 ec 01 0b 00 7f |........|.E......|
|00003720| 00 24 00 01 00 e4 00 76 | 00 1e 00 30 00 67 65 74 |.$.....v|...0.get|
|00003730| 20 44 42 46 20 64 65 66 | 69 6e 69 74 69 6f 6e 20 | DBF def|inition |
|00003740| 69 73 20 6e 65 65 64 65 | 64 00 0c 0b 00 7f 00 0c |is neede|d.......|
|00003750| 00 d9 03 76 00 12 00 30 | 00 73 61 76 65 20 66 69 |...v...0|.save fi|
|00003760| 6c 65 20 6e 75 6d 62 65 | 72 00 08 00 0c 76 00 1a |le numbe|r....v..|
|00003770| 00 03 00 2d 2d 2d 20 67 | 65 74 20 66 6c 64 20 66 |...--- g|et fld f|
|00003780| 72 6f 6d 20 72 65 63 6f | 72 64 24 00 0c 0b 18 f5 |rom reco|rd$.....|
|00003790| 03 0b 00 16 04 0e 00 01 | 00 f3 00 11 00 4c 01 0b |........|.....L..|
|000037a0| 00 16 04 0e 00 01 00 f3 | 00 11 00 56 01 c7 00 0c |........|...V....|
|000037b0| 18 20 04 00 00 00 0c 76 | 00 47 00 03 00 2d 2d 2d |. .....v|.G...---|
|000037c0| 20 70 72 6f 63 65 73 73 | 20 4c 45 41 44 49 4e 47 | process| LEADING|
|000037d0| 20 6e 75 6c 6c 73 20 69 | 6e 20 61 20 6e 75 6d 62 | nulls i|n a numb|
|000037e0| 65 72 2e 20 64 42 41 53 | 45 20 6e 75 6d 62 65 72 |er. dBAS|E number|
|000037f0| 20 66 69 65 6c 64 73 20 | 61 72 65 20 73 74 6f 72 | fields |are stor|
|00003800| 65 64 00 00 0c 76 00 43 | 00 03 00 0d 04 20 77 69 |ed...v.C|..... wi|
|00003810| 74 68 20 4e 55 4c 4c 53 | 20 61 73 20 74 68 65 20 |th NULLS| as the |
|00003820| 6c 65 61 64 69 6e 67 20 | 63 68 61 72 61 63 74 65 |leading |characte|
|00003830| 72 73 20 26 20 77 65 20 | 67 6f 74 74 61 20 72 65 |rs & we |gotta re|
|00003840| 6d 6f 76 65 20 74 68 65 | 6d 2e 2e 2e 65 00 00 00 |move the|m...e...|
|00003850| 0c 0b 00 16 04 0e 00 01 | 00 f3 00 11 00 5e 01 ed |........|.....^..|
|00003860| 00 05 00 01 00 01 00 4e | 22 a6 00 49 00 8c 03 76 |.......N|"..I...v|
|00003870| 00 1a 00 30 00 69 73 20 | 74 68 69 73 20 61 20 4e |...0.is |this a N|
|00003880| 55 4d 45 52 49 43 20 66 | 69 65 6c 64 3f 00 14 0b |UMERIC f|ield?...|
|00003890| 18 20 04 dd 00 0c 00 6b | 04 76 00 12 00 30 00 63 |. .....k|.v...0.c|
|000038a0| 68 61 6e 67 65 20 74 6f | 20 6e 75 6d 62 65 72 00 |hange to| number.|
|000038b0| 14 0b 00 6b 04 d5 00 c0 | 00 0c 18 20 04 76 00 1d |...k....|... .v..|
|000038c0| 00 30 00 73 74 72 69 70 | 20 73 70 61 63 65 20 26 |.0.strip| space &|
|000038d0| 20 6d 61 6b 65 20 61 20 | 73 74 72 69 6e 67 74 00 | make a |stringt.|
|000038e0| 0c 38 00 00 00 00 00 39 | 00 09 00 08 00 ff ff ff |.8.....9|........|
|000038f0| ff ff ff ff ff 1d 00 00 | 00 03 00 00 0b 00 55 6e |........|......Un|
|00003900| 44 65 6c 65 74 65 52 45 | 43 01 08 30 b2 01 b0 01 |DeleteRE|C..0....|
|00003910| 18 00 00 00 58 00 16 00 | 18 06 00 01 02 00 7f 00 |....X...|........|
|00003920| 00 00 01 00 00 00 eb 03 | 00 02 02 00 00 00 00 00 |........|........|
|00003930| 00 08 76 00 02 00 02 00 | 00 08 76 00 45 00 02 00 |..v.....|..v.E...|
|00003940| 55 6e 2d 64 65 6c 65 74 | 65 73 20 52 65 63 6f 72 |Un-delet|es Recor|
|00003950| 64 26 20 62 79 20 77 72 | 69 74 69 6e 67 20 61 20 |d& by wr|iting a |
|00003960| 73 70 61 63 65 20 74 6f | 20 74 68 65 20 66 69 72 |space to| the fir|
|00003970| 73 74 20 62 79 74 65 20 | 70 6f 73 69 74 69 6f 6e |st byte |position|
|00003980| 20 6f 66 44 00 08 76 00 | 35 00 02 00 74 68 65 20 | ofD..v.|5...the |
|00003990| 72 65 63 6f 72 64 2c 20 | 77 68 69 63 68 2c 20 62 |record, |which, b|
|000039a0| 79 20 63 6f 6e 76 65 6e | 74 69 6f 6e 2c 20 69 73 |y conven|tion, is|
|000039b0| 20 68 6f 77 20 79 6f 75 | 20 64 6f 20 69 74 21 62 | how you| do it!b|
|000039c0| 00 08 76 00 02 00 02 00 | 00 00 00 08 76 00 14 00 |..v.....|....v...|
|000039d0| 02 00 2d 2d 2d 20 67 65 | 74 20 74 68 65 20 72 65 |..--- ge|t the re|
|000039e0| 63 6f 72 64 00 08 0b 00 | 7f 00 0b 08 eb 03 0b 18 |cord....|........|
|000039f0| f5 03 24 00 03 00 cf 03 | 76 00 10 00 29 00 67 65 |..$.....|v...).ge|
|00003a00| 74 20 74 68 65 20 72 65 | 63 6f 72 64 00 00 00 08 |t the re|cord....|
|00003a10| 76 00 17 00 02 00 2d 2d | 2d 20 77 72 69 74 65 20 |v.....--|- write |
|00003a20| 74 68 65 20 2a 20 74 6f | 20 69 74 20 00 08 e4 04 |the * to| it ....|
|00003a30| e4 04 ed 00 05 00 01 00 | 01 00 20 22 0b 18 f5 03 |........|.. "....|
|00003a40| 8b 00 76 00 1e 00 29 00 | 70 75 74 20 73 70 61 63 |..v...).|put spac|
|00003a50| 65 20 69 6e 74 6f 20 64 | 65 6c 65 74 65 64 20 66 |e into d|eleted f|
|00003a60| 69 65 6c 64 00 00 00 08 | 76 00 21 00 02 00 2d 2d |ield....|v.!...--|
|00003a70| 2d 20 77 72 69 74 65 20 | 74 68 65 20 63 68 61 6e |- write |the chan|
|00003a80| 67 65 20 74 6f 20 74 68 | 65 20 44 42 46 6e 00 08 |ge to th|e DBFn..|
|00003a90| 0b 00 7f 00 0b 08 eb 03 | 0b 18 f5 03 24 00 03 00 |........|....$...|
|00003aa0| 38 04 76 00 10 00 29 00 | 73 61 76 65 20 69 74 20 |8.v...).|save it |
|00003ab0| 74 6f 20 44 42 46 00 00 | 00 00 39 00 09 00 08 00 |to DBF..|..9.....|
|00003ac0| ff ff ff ff ff ff ff ff | 11 00 00 00 03 00 00 06 |........|........|
|00003ad0| 00 44 42 46 56 65 72 02 | 0e 30 10 03 48 03 18 00 |.DBFVer.|.0..H...|
|00003ae0| 00 00 40 00 0e 00 27 06 | 86 02 01 00 7f 00 00 00 |..@...'.|........|
|00003af0| 01 00 00 00 00 00 00 14 | 76 00 02 00 05 00 00 14 |........|v.......|
|00003b00| 76 00 1f 00 05 00 47 65 | 74 73 20 64 62 61 73 65 |v.....Ge|ts dbase|
|00003b10| 20 44 42 46 20 76 65 72 | 73 69 6f 6e 20 6e 75 6d | DBF ver|sion num|
|00003b20| 62 65 72 6e 00 14 76 00 | 02 00 05 00 00 10 00 14 |bern..v.|........|
|00003b30| e4 04 d3 00 0c 18 55 02 | 76 00 10 00 28 00 31 20 |......U.|v...(.1 |
|00003b40| 62 79 74 65 20 76 65 72 | 73 69 6f 6e 00 14 0b 00 |byte ver|sion....|
|00003b50| 7f 00 e4 04 0b 18 55 02 | 24 00 03 00 f5 01 76 00 |......U.|$.....v.|
|00003b60| 09 00 28 00 72 65 61 64 | 20 69 74 00 00 00 00 14 |..(.read| it.....|
|00003b70| 0b 18 55 02 56 00 ba 00 | 76 00 0c 00 28 00 70 72 |..U.V...|v...(.pr|
|00003b80| 6f 63 65 73 73 20 69 74 | 00 18 e4 00 ac 00 26 00 |ocess it|......&.|
|00003b90| 00 1c ed 00 06 00 02 00 | 02 00 49 49 0c 18 31 06 |........|..II..1.|
|00003ba0| 00 18 e4 0c ac 00 26 00 | e5 00 83 00 ac 00 26 00 |......&.|......&.|
|00003bb0| 00 1c ed 00 07 00 fe 00 | 03 00 49 49 49 22 0c 18 |........|..III"..|
|00003bc0| 31 06 00 18 e4 00 ac 00 | 26 00 00 1c ed 00 06 00 |1.......|&.......|
|00003bd0| 02 00 02 00 49 56 0c 18 | 31 06 00 18 25 00 00 1c |....IV..|1...%...|
|00003be0| ed 00 07 00 03 00 03 00 | 55 4e 4b 22 0c 18 31 06 |........|UNK"..1.|
|00003bf0| 00 14 3a 00 00 0c 00 14 | 76 00 1d 00 05 00 2d 2d |..:.....|v.....--|
|00003c00| 2d 20 66 69 72 73 74 20 | 67 65 74 20 65 6e 64 2d |- first |get end-|
|00003c10| 6f 66 2d 68 65 61 64 65 | 72 65 00 14 0b 00 7f 00 |of-heade|re......|
|00003c20| 0b 00 40 01 24 00 02 00 | a4 01 00 14 0b 00 40 01 |..@.$...|......@.|
|00003c30| 0c 08 eb 01 76 00 1e 00 | 28 00 2d 2d 3e 20 74 6f |....v...|(.--> to|
|00003c40| 20 6c 6f 6e 67 20 69 6e | 74 20 66 6f 72 20 53 65 | long in|t for Se|
|00003c50| 65 6b 52 65 61 64 00 0c | 00 14 76 00 2b 00 05 00 |ekRead..|..v.+...|
|00003c60| 2d 2d 2d 20 66 69 67 75 | 72 65 20 6f 75 74 20 69 |--- figu|re out i|
|00003c70| 66 20 74 68 69 73 20 61 | 20 49 49 49 20 6f 72 20 |f this a| III or |
|00003c80| 49 49 49 2b 20 66 69 6c | 65 20 00 14 ed 00 07 00 |III+ fil|e ......|
|00003c90| ec 01 03 00 49 49 49 22 | 0b 18 31 06 ba 00 49 00 |....III"|..1...I.|
|00003ca0| 0c 03 00 18 00 1c e4 04 | d3 00 0c 18 55 02 76 00 |........|....U.v.|
|00003cb0| 26 00 28 00 31 20 62 79 | 74 65 20 74 6f 20 63 68 |&.(.1 by|te to ch|
|00003cc0| 65 63 6b 20 69 66 20 64 | 62 20 69 69 69 2b 20 6f |eck if d|b iii+ o|
|00003cd0| 72 20 64 62 20 69 69 69 | 00 1c 0b 00 7f 00 0b 08 |r db iii|........|
|00003ce0| eb 01 0b 18 55 02 24 00 | 03 00 f5 01 76 00 20 00 |....U.$.|....v. .|
|00003cf0| 28 00 64 62 20 49 49 49 | 2b 20 68 61 73 20 43 52 |(.db III|+ has CR|
|00003d00| 20 40 20 65 6e 64 20 6f | 66 20 68 65 61 64 65 72 | @ end o|f header|
|00003d10| 00 14 00 1c 0b 18 55 02 | e5 00 0d 00 ac 00 a6 00 |......U.|........|
|00003d20| 49 00 98 02 00 24 ed 00 | 08 00 88 02 04 00 49 49 |I....$..|......II|
|00003d30| 49 2b 0c 18 31 06 00 1c | 32 00 e6 02 00 24 0b 00 |I+..1...|2....$..|
|00003d40| 7f 00 0b 08 eb 01 e4 04 | f7 00 0b 18 55 02 24 00 |........|....U.$.|
|00003d50| 03 00 f5 01 76 00 05 00 | 2b 00 64 62 33 20 00 24 |....v...|+.db3 .$|
|00003d60| 0b 18 55 02 e5 00 0d 00 | ac 00 a6 00 45 00 e2 02 |..U.....|....E...|
|00003d70| ed 00 07 00 d8 02 03 00 | 49 49 49 22 0c 18 31 06 |........|III"..1.|
|00003d80| 00 1c 38 00 76 00 1b 00 | 0e 00 64 65 74 65 72 6d |..8.v...|..determ|
|00003d90| 69 6e 65 20 77 68 65 72 | 65 20 68 65 78 20 30 44 |ine wher|e hex 0D|
|00003da0| 20 69 73 29 00 0c 00 14 | 38 00 76 00 13 00 0c 00 | is)....|8.v.....|
|00003db0| 69 66 20 61 20 33 20 6f | 72 20 33 2b 20 66 69 6c |if a 3 o|r 3+ fil|
|00003dc0| 65 65 00 0c 00 14 76 00 | 0d 00 05 00 2d 2d 2d 20 |ee....v.|....--- |
|00003dd0| 73 65 74 20 76 65 72 20 | 00 14 0b 18 31 06 0c 18 |set ver |....1...|
|00003de0| 27 06 00 00 00 00 39 00 | 09 00 08 00 ff ff ff ff |'.....9.|........|
|00003df0| ff ff ff ff 2b 00 00 00 | 03 00 00 09 00 47 65 74 |....+...|.....Get|
|00003e00| 55 70 64 61 74 65 01 08 | 30 70 02 a2 02 18 00 00 |Update..|0p......|
|00003e10| 00 58 00 1e 00 b1 06 00 | 01 03 00 7f 00 00 00 01 |.X......|........|
|00003e20| 00 00 00 be 06 00 02 06 | 00 00 00 c8 06 00 02 06 |........|........|
|00003e30| 00 00 00 00 0c 00 14 76 | 00 02 00 05 00 00 14 76 |.......v|.......v|
|00003e40| 00 26 00 05 00 47 65 74 | 73 20 64 61 74 65 20 6f |.&...Get|s date o|
|00003e50| 66 20 6c 61 73 74 20 75 | 70 64 61 74 65 20 66 72 |f last u|pdate fr|
|00003e60| 6f 6d 20 68 65 61 64 65 | 72 00 14 76 00 02 00 05 |om heade|r..v....|
|00003e70| 00 00 00 00 14 76 00 14 | 00 05 00 2d 2d 2d 20 73 |.....v..|...--- s|
|00003e80| 65 74 75 70 20 66 6f 72 | 20 72 65 61 64 00 14 e4 |etup for| read...|
|00003e90| 0c d3 00 0c 18 55 02 76 | 00 18 00 2f 00 33 20 62 |.....U.v|.../.3 b|
|00003ea0| 79 74 65 20 73 74 72 69 | 6e 67 20 59 59 20 4d 4d |yte stri|ng YY MM|
|00003eb0| 20 44 44 00 14 0b 00 7f | 00 e4 08 0b 18 55 02 24 | DD.....|.....U.$|
|00003ec0| 00 03 00 f5 01 76 00 17 | 00 2f 00 73 74 61 72 74 |.....v..|./.start|
|00003ed0| 20 6f 66 20 75 70 64 61 | 74 65 20 66 69 65 6c 64 | of upda|te field|
|00003ee0| 20 00 00 00 14 76 00 0d | 00 05 00 2d 2d 2d 20 64 | ....v..|...--- d|
|00003ef0| 6f 20 79 65 61 72 61 00 | 14 0b 18 55 02 e4 04 e4 |o yeara.|...U....|
|00003f00| 04 c7 00 a9 00 d5 00 0e | 00 01 00 ad 00 0c 18 d2 |........|........|
|00003f10| 06 00 14 0b 18 d2 06 c2 | 00 06 05 e4 08 f1 00 45 |........|.......E|
|00003f20| 00 44 01 ed 00 05 00 01 | 00 01 00 30 22 0b 18 d2 |.D......|...0"...|
|00003f30| 06 a3 00 0c 18 d2 06 00 | 0c 00 14 76 00 0e 00 05 |........|...v....|
|00003f40| 00 2d 2d 2d 20 64 6f 20 | 6d 6f 6e 74 68 00 14 0b |.--- do |month...|
|00003f50| 18 55 02 e4 08 e4 04 c7 | 00 a9 00 d5 00 0e 00 01 |.U......|........|
|00003f60| 00 ad 00 0c 18 d8 06 00 | 14 0b 18 d8 06 c2 00 06 |........|........|
|00003f70| 05 e4 04 a6 00 45 00 aa | 01 ed 00 05 00 9c 01 01 |.....E..|........|
|00003f80| 00 30 22 0b 18 d8 06 a3 | 00 0c 18 d8 06 00 0c 00 |.0".....|........|
|00003f90| 14 76 00 0c 00 05 00 2d | 2d 2d 20 64 6f 20 64 61 |.v.....-|-- do da|
|00003fa0| 79 00 14 0b 18 55 02 e4 | 0c e4 04 c7 00 a9 00 d5 |y....U..|........|
|00003fb0| 00 0e 00 01 00 ad 00 0c | 18 e0 06 00 14 0b 18 e0 |........|........|
|00003fc0| 06 c2 00 06 05 e4 04 a6 | 00 45 00 0e 02 ed 00 05 |........|.E......|
|00003fd0| 00 00 02 01 00 30 22 0b | 18 e0 06 a3 00 0c 18 e0 |.....0".|........|
|00003fe0| 06 00 0c 00 14 76 00 29 | 00 05 00 2d 2d 2d 20 63 |.....v.)|...--- c|
|00003ff0| 6f 6d 62 69 6e 65 20 74 | 68 65 6d 20 61 6c 6c 20 |ombine t|hem all |
|00004000| 69 6e 74 6f 20 61 20 64 | 61 74 65 20 73 74 72 69 |into a d|ate stri|
|00004010| 6e 67 20 00 14 0b 18 d8 | 06 ed 00 05 00 4c 02 01 |ng .....|.....L..|
|00004020| 00 2d 22 a3 00 0b 18 e0 | 06 a3 00 ed 00 07 00 5e |.-".....|.......^|
|00004030| 02 03 00 2d 31 39 22 a3 | 00 0b 18 d2 06 a3 00 0c |...-19".|........|
|00004040| 18 be 06 00 14 0b 18 d8 | 06 ed 00 05 00 7c 02 01 |........|.....|..|
|00004050| 00 2f 22 a3 00 0b 18 e0 | 06 a3 00 ed 00 05 00 8e |./".....|........|
|00004060| 02 01 00 2f 22 a3 00 0b | 18 d2 06 a3 00 0c 18 c8 |.../"...|........|
|00004070| 06 00 00 00 00 39 00 09 | 00 08 00 ff ff ff ff ff |.....9..|........|
|00004080| ff ff ff 1b 00 00 00 03 | 00 00 0b 00 43 68 65 63 |........|....Chec|
|00004090| 6b 46 69 65 6c 64 73 01 | 08 30 3a 0c 8a 0c 18 00 |kFields.|.0:.....|
|000040a0| 00 00 58 00 0e 00 e4 00 | 00 01 01 00 7f 00 00 00 |..X.....|........|
|000040b0| 01 00 00 00 00 04 00 0c | 76 00 02 00 03 00 00 0c |........|v.......|
|000040c0| 76 00 41 00 03 00 52 65 | 74 75 72 6e 73 20 74 68 |v.A...Re|turns th|
|000040d0| 65 20 64 65 66 69 6e 69 | 74 69 6f 6e 20 6f 66 20 |e defini|tion of |
|000040e0| 61 20 44 42 46 20 77 68 | 69 63 68 20 69 73 20 73 |a DBF wh|ich is s|
|000040f0| 74 6f 72 65 64 20 69 6e | 20 69 74 27 73 20 68 65 |tored in| it's he|
|00004100| 61 64 65 72 2e 00 00 0c | 76 00 02 00 03 00 00 0c |ader....|v.......|
|00004110| 76 00 42 00 03 00 43 68 | 65 63 6b 73 20 44 42 46 |v.B...Ch|ecks DBF|
|00004120| 20 66 6f 72 20 64 61 6d | 61 67 65 20 77 68 69 6c | for dam|age whil|
|00004130| 65 20 6c 6f 61 64 69 6e | 67 20 61 20 74 79 70 65 |e loadin|g a type|
|00004140| 20 61 72 72 61 79 20 77 | 69 74 68 20 74 68 69 73 | array w|ith this|
|00004150| 20 44 42 46 27 73 00 0c | 76 00 40 00 03 00 69 6e | DBF's..|v.@...in|
|00004160| 66 6f 72 6d 61 74 69 6f | 6e 2e 20 43 68 65 63 6b |formatio|n. Check|
|00004170| 73 20 65 61 63 68 20 66 | 69 65 6c 64 20 69 6e 66 |s each f|ield inf|
|00004180| 6f 20 74 6f 20 73 65 65 | 20 69 66 20 69 74 20 69 |o to see| if it i|
|00004190| 73 20 76 61 6c 69 64 20 | 2d 20 69 66 00 0c 76 00 |s valid |- if..v.|
|000041a0| 3e 00 03 00 76 61 6c 69 | 64 20 63 6f 75 6e 74 20 |>...vali|d count |
|000041b0| 27 65 6d 20 75 70 2e 20 | 49 66 20 69 6e 76 61 6c |'em up. |If inval|
|000041c0| 69 64 2c 20 69 6e 64 69 | 63 61 74 65 20 73 6f 20 |id, indi|cate so |
|000041d0| 62 79 20 73 65 74 74 69 | 6e 67 20 66 69 65 6c 64 |by setti|ng field|
|000041e0| 00 0c 76 00 27 00 03 00 | 63 6f 75 6e 74 65 72 20 |..v.'...|counter |
|000041f0| 76 61 72 69 61 62 6c 65 | 20 46 6c 64 28 30 29 2e |variable| Fld(0).|
|00004200| 44 65 63 69 6d 61 6c 20 | 3d 20 2d 31 2e 61 00 0c |Decimal |= -1.a..|
|00004210| 76 00 02 00 03 00 00 0c | 76 00 44 00 03 00 4f 6e |v.......|v.D...On|
|00004220| 20 65 78 69 74 20 74 68 | 65 20 74 79 70 65 20 61 | exit th|e type a|
|00004230| 72 72 61 79 20 46 6c 64 | 28 29 20 68 6f 6c 64 73 |rray Fld|() holds|
|00004240| 20 74 68 65 20 66 69 65 | 6c 64 20 6e 61 6d 65 73 | the fie|ld names|
|00004250| 20 61 6e 64 20 64 65 66 | 69 6e 69 74 69 6f 6e 73 | and def|initions|
|00004260| 00 0c 76 00 44 00 03 00 | 66 6f 72 20 74 68 69 73 |..v.D...|for this|
|00004270| 20 44 42 46 20 66 69 6c | 65 2e 20 46 6c 64 28 30 | DBF fil|e. Fld(0|
|00004280| 29 2e 44 65 63 69 6d 61 | 6c 20 63 6f 6e 74 61 69 |).Decima|l contai|
|00004290| 6e 73 20 74 68 65 20 71 | 75 61 6e 74 69 74 79 20 |ns the q|uantity |
|000042a0| 6f 66 20 66 69 65 6c 64 | 73 2e 00 0c 76 00 02 00 |of field|s...v...|
|000042b0| 03 00 00 0c 76 00 44 00 | 03 00 4e 4f 54 45 3a 20 |....v.D.|..NOTE: |
|000042c0| 41 6e 79 20 63 75 72 72 | 65 6e 74 20 63 6f 6e 74 |Any curr|ent cont|
|000042d0| 65 6e 74 73 20 6f 66 20 | 46 6c 64 28 29 20 70 61 |ents of |Fld() pa|
|000042e0| 73 73 65 64 20 74 6f 20 | 74 68 69 73 20 72 6f 75 |ssed to |this rou|
|000042f0| 74 69 6e 65 20 57 49 4c | 4c 20 62 65 00 0c 76 00 |tine WIL|L be..v.|
|00004300| 26 00 03 00 0d 06 20 65 | 72 61 73 65 64 20 61 6e |&..... e|rased an|
|00004310| 64 20 72 65 70 6c 61 63 | 65 64 20 62 79 20 74 68 |d replac|ed by th|
|00004320| 69 73 20 63 61 6c 6c 21 | 00 0c 76 00 02 00 03 00 |is call!|..v.....|
|00004330| 00 0c 76 00 47 00 03 00 | 4e 4f 54 45 3a 20 55 73 |..v.G...|NOTE: Us|
|00004340| 65 20 74 68 69 73 20 63 | 61 6c 6c 20 61 66 74 65 |e this c|all afte|
|00004350| 72 20 61 20 44 42 46 20 | 69 73 20 6f 70 65 6e 65 |r a DBF |is opene|
|00004360| 64 20 74 6f 20 72 65 74 | 72 69 65 76 65 20 69 74 |d to ret|rieve it|
|00004370| 27 73 20 73 74 72 75 63 | 74 75 72 65 2e 65 00 0c |'s struc|ture.e..|
|00004380| 76 00 02 00 03 00 00 0c | 76 00 02 00 03 00 00 08 |v.......|v.......|
|00004390| 00 0c 76 00 1e 00 03 00 | 2d 2d 2d 20 67 65 74 20 |..v.....|--- get |
|000043a0| 69 6e 66 6f 20 61 62 6f | 75 74 20 74 68 69 73 20 |info abo|ut this |
|000043b0| 66 69 6c 65 00 0c 0b 00 | 7f 00 0b 00 40 01 24 00 |file....|....@.$.|
|000043c0| 02 00 a4 01 76 00 10 00 | 28 00 73 69 7a 65 20 6f |....v...|(.size o|
|000043d0| 66 20 68 65 61 64 65 72 | 00 0c 0b 00 40 01 e5 00 |f header|....@...|
|000043e0| 20 00 f7 00 ee 00 e5 00 | 20 00 e0 00 0c 00 b3 01 | .......| .......|
|000043f0| 76 00 22 00 28 00 6d 61 | 78 69 6d 75 6d 20 6e 75 |v.".(.ma|ximum nu|
|00004400| 6d 62 65 72 20 6f 66 20 | 66 69 65 6c 64 20 74 68 |mber of |field th|
|00004410| 69 73 20 44 42 46 00 00 | 00 0c 76 00 1f 00 03 00 |is DBF..|..v.....|
|00004420| 2d 2d 2d 20 44 69 6d 20 | 46 6c 64 73 28 29 20 74 |--- Dim |Flds() t|
|00004430| 6f 20 70 72 6f 70 65 72 | 20 73 69 7a 65 20 00 0c |o proper| size ..|
|00004440| e4 00 0b 00 b3 01 15 00 | 2a 01 1c 00 0e 00 02 00 |........|*.......|
|00004450| f3 00 1a 00 76 00 12 00 | 30 00 6d 61 6b 65 20 46 |....v...|0.make F|
|00004460| 6c 64 28 29 20 61 72 72 | 61 79 00 08 00 0c 76 00 |ld() arr|ay....v.|
|00004470| 18 00 03 00 2d 2d 2d 6d | 61 6b 65 20 73 6f 6d 65 |....---m|ake some|
|00004480| 20 76 61 72 69 61 62 6c | 65 73 00 0c e4 00 0c 00 | variabl|es......|
|00004490| 98 00 76 00 0f 00 30 00 | 61 73 73 75 6d 65 20 73 |..v...0.|assume s|
|000044a0| 75 63 65 73 73 6c 00 0c | e4 04 0c 00 4c 01 76 00 |ucessl..|....L.v.|
|000044b0| 13 00 30 00 73 74 61 72 | 74 20 61 74 20 31 73 74 |..0.star|t at 1st|
|000044c0| 20 62 79 74 65 00 00 0c | e4 04 0c 00 be 01 76 00 | byte...|......v.|
|000044d0| 12 00 30 00 73 74 61 72 | 74 20 6f 66 66 20 77 69 |..0.star|t off wi|
|000044e0| 74 68 20 31 00 0c e5 00 | 21 00 0c 08 c6 01 76 00 |th 1....|!.....v.|
|000044f0| 11 00 30 00 73 74 61 72 | 74 20 40 20 62 79 74 65 |..0.star|t @ byte|
|00004500| 20 33 33 65 00 0c 0b 00 | 7f 00 c4 00 0c 08 d0 01 | 33e....|........|
|00004510| 76 00 0d 00 2c 00 65 6e | 64 20 6f 66 20 66 69 6c |v...,.en|d of fil|
|00004520| 65 20 00 08 00 0c 76 00 | 15 00 03 00 2d 2d 2d 20 |e ....v.|....--- |
|00004530| 72 65 61 64 20 74 68 65 | 20 68 65 61 64 65 72 66 |read the| headerf|
|00004540| 00 0c 0b 00 b3 01 e5 00 | 20 00 f0 00 0c 00 e3 01 |........| .......|
|00004550| 76 00 1f 00 30 00 73 69 | 7a 65 20 6f 66 20 66 69 |v...0.si|ze of fi|
|00004560| 65 6c 64 20 62 6c 6f 63 | 6b 20 69 6e 20 68 65 61 |eld bloc|k in hea|
|00004570| 64 65 72 6c 00 0c 0b 00 | e3 01 e4 00 d6 00 0c 18 |derl....|........|
|00004580| eb 01 76 00 1a 00 30 00 | 73 74 72 69 6e 67 20 74 |..v...0.|string t|
|00004590| 6f 20 72 65 63 65 69 76 | 65 20 68 65 61 64 65 72 |o receiv|e header|
|000045a0| 00 0c 0b 00 7f 00 0b 08 | c6 01 0b 18 eb 01 24 00 |........|......$.|
|000045b0| 03 00 f5 01 76 00 0d 00 | 30 00 72 65 61 64 20 68 |....v...|0.read h|
|000045c0| 65 61 64 65 72 20 00 08 | 00 0c 76 00 18 00 03 00 |eader ..|..v.....|
|000045d0| 2d 2d 2d 20 70 72 6f 63 | 65 73 73 20 66 69 65 6c |--- proc|ess fiel|
|000045e0| 64 20 64 61 74 61 00 0c | 0b 00 01 02 e4 04 0b 00 |d data..|........|
|000045f0| e3 01 e5 00 20 00 3f 00 | ff ff 20 0b 00 14 00 1c |.... .?.|.. .....|
|00004600| 76 00 1c 00 07 00 2d 2d | 2d 20 67 65 74 20 61 20 |v.....--|- get a |
|00004610| 66 69 65 6c 64 20 64 65 | 73 63 72 69 70 74 6f 72 |field de|scriptor|
|00004620| 00 1c 0b 18 eb 01 0b 00 | 01 02 e5 00 20 00 c7 00 |........|.... ...|
|00004630| 0c 18 55 02 76 00 18 00 | 2f 00 67 65 74 20 61 20 |..U.v...|/.get a |
|00004640| 66 69 65 6c 64 20 64 65 | 73 63 72 69 70 74 6f 72 |field de|scriptor|
|00004650| 00 14 00 1c 76 00 21 00 | 07 00 2d 2d 2d 20 70 61 |....v.!.|..--- pa|
|00004660| 72 73 65 20 6f 75 74 20 | 66 69 65 6c 64 20 6e 61 |rse out |field na|
|00004670| 6d 65 20 26 20 74 79 70 | 65 20 00 1c 0b 18 55 02 |me & typ|e ....U.|
|00004680| e4 04 e5 00 0b 00 c7 00 | 0c 18 06 02 76 00 10 00 |........|....v...|
|00004690| 2f 00 6e 61 6d 65 20 61 | 74 20 62 79 74 65 20 31 |/.name a|t byte 1|
|000046a0| 00 1c 0b 18 55 02 e5 00 | 0c 00 e4 04 c7 00 0c 18 |....U...|........|
|000046b0| 99 01 76 00 11 00 2f 00 | 74 79 70 65 20 61 74 20 |..v.../.|type at |
|000046c0| 62 79 74 65 20 31 32 00 | 00 1c 0b 18 55 02 e5 00 |byte 12.|....U...|
|000046d0| 11 00 e4 04 c7 00 a9 00 | 0c 00 11 02 76 00 13 00 |........|....v...|
|000046e0| 2f 00 6c 65 6e 67 74 68 | 20 61 74 20 62 79 74 65 |/.length| at byte|
|000046f0| 20 31 37 69 00 1c 0b 18 | 55 02 e5 00 12 00 e4 04 | 17i....|U.......|
|00004700| c7 00 a9 00 0c 00 fa 00 | 76 00 19 00 2f 00 6e 6f |........|v.../.no|
|00004710| 2e 20 64 65 63 69 6d 61 | 6c 73 20 61 74 20 62 79 |. decima|ls at by|
|00004720| 74 65 20 31 38 00 00 00 | 00 1c 76 00 36 00 07 00 |te 18...|..v.6...|
|00004730| 2d 2d 2d 20 65 61 63 68 | 20 66 69 65 6c 64 20 74 |--- each| field t|
|00004740| 79 70 65 20 68 61 73 20 | 63 68 61 72 61 63 74 65 |ype has |characte|
|00004750| 72 69 73 74 69 63 73 2c | 20 61 73 73 69 67 6e 20 |ristics,| assign |
|00004760| 74 68 65 6d 00 1c 0b 18 | 99 01 56 00 f0 06 00 24 |them....|..V....$|
|00004770| ed 00 05 00 f6 06 01 00 | 43 22 26 00 76 00 1b 00 |........|C"&.v...|
|00004780| 30 00 43 48 41 52 41 43 | 54 45 52 20 66 69 6c 65 |0.CHARAC|TER file|
|00004790| 20 66 69 65 6c 64 20 74 | 79 70 65 63 00 2c e5 00 | field t|ypec.,..|
|000047a0| ff 00 0c 00 1b 02 00 2c | e4 04 0c 00 25 02 00 24 |.......,|....%..$|
|000047b0| ed 00 05 00 40 07 01 00 | 4e 22 26 00 76 00 19 00 |....@...|N"&.v...|
|000047c0| 30 00 4e 55 4d 45 52 49 | 43 20 66 69 6c 65 20 66 |0.NUMERI|C file f|
|000047d0| 69 65 6c 64 20 74 79 70 | 65 70 00 2c e5 00 13 00 |ield typ|ep.,....|
|000047e0| 0c 00 1b 02 00 2c e4 04 | 0c 00 25 02 00 24 ed 00 |.....,..|..%..$..|
|000047f0| 05 00 88 07 01 00 4c 22 | 26 00 76 00 19 00 30 00 |......L"|&.v...0.|
|00004800| 4c 4f 47 49 43 41 4c 20 | 66 69 6c 65 20 66 69 65 |LOGICAL |file fie|
|00004810| 6c 64 20 74 79 70 65 70 | 00 2c e4 04 0c 00 1b 02 |ld typep|.,......|
|00004820| 00 2c e4 04 0c 00 25 02 | 00 20 ed 00 05 00 ce 07 |.,....%.|. ......|
|00004830| 01 00 44 22 26 00 76 00 | 19 00 30 00 44 45 43 49 |..D"&.v.|..0.DECI|
|00004840| 4d 41 4c 20 66 69 6c 65 | 20 66 69 65 6c 64 20 74 |MAL file| field t|
|00004850| 79 70 65 70 00 2c e4 20 | 0c 00 1b 02 00 2c e4 20 |ypep.,. |.....,. |
|00004860| 0c 00 25 02 00 24 ed 00 | 05 00 14 08 01 00 4d 22 |..%..$..|......M"|
|00004870| 26 00 76 00 16 00 30 00 | 4d 45 4d 4f 20 66 69 6c |&.v...0.|MEMO fil|
|00004880| 65 20 66 69 65 6c 64 20 | 74 79 70 65 00 2c e4 28 |e field |type.,.(|
|00004890| 0c 00 1b 02 00 2c e4 28 | 0c 00 25 02 00 24 25 00 |.....,.(|..%..$%.|
|000048a0| 76 00 1e 00 30 00 6f 6f | 70 73 21 20 73 6f 6d 65 |v...0.oo|ps! some|
|000048b0| 74 68 69 6e 67 20 42 41 | 44 20 68 61 70 70 65 6e |thing BA|D happen|
|000048c0| 65 64 00 2c e5 00 ba 0b | 0c 00 98 00 76 00 0d 00 |ed.,....|....v...|
|000048d0| 30 00 69 6e 76 61 6c 69 | 64 20 44 42 46 41 00 2c |0.invali|d DBFA.,|
|000048e0| e4 04 f9 00 0c 00 2f 02 | 76 00 11 00 30 00 73 65 |....../.|v...0.se|
|000048f0| 74 20 69 6e 76 61 6c 69 | 64 20 44 42 46 61 00 2c |t invali|d DBFa.,|
|00004900| 3c 00 22 0b 76 00 06 00 | 30 00 65 78 69 74 00 1c |<.".v...|0.exit..|
|00004910| 3a 00 00 10 00 18 76 00 | 23 00 06 00 2d 2d 2d 20 |:.....v.|#...--- |
|00004920| 65 72 72 6f 72 20 63 68 | 65 63 6b 69 6e 67 20 61 |error ch|ecking a|
|00004930| 67 61 69 6e 73 74 20 66 | 6c 64 6c 65 6e 00 00 18 |gainst f|ldlen...|
|00004940| 0b 00 11 02 0b 00 1b 02 | df 00 0b 00 11 02 0b 00 |........|........|
|00004950| 25 02 e3 00 f5 00 49 00 | 9a 09 76 00 07 00 31 00 |%.....I.|..v...1.|
|00004960| 65 72 72 6f 72 65 00 20 | 76 00 27 00 08 00 2d 2d |errore. |v.'...--|
|00004970| 2d 20 68 65 61 64 65 72 | 20 64 6f 73 65 6e 27 74 |- header| dosen't|
|00004980| 20 6d 61 74 63 68 20 64 | 65 73 63 72 69 70 74 6f | match d|escripto|
|00004990| 72 20 20 00 00 20 e5 00 | ba 0b 0c 00 98 00 76 00 |r .. ..|......v.|
|000049a0| 0d 00 30 00 69 6e 76 61 | 6c 69 64 20 44 42 46 6d |..0.inva|lid DBFm|
|000049b0| 00 20 e4 04 f9 00 0c 00 | 2f 02 76 00 11 00 30 00 |. ......|/.v...0.|
|000049c0| 65 72 72 6f 72 20 69 6e | 64 69 63 61 74 6f 72 68 |error in|dicatorh|
|000049d0| 00 20 3c 00 22 0b 76 00 | 06 00 30 00 65 78 69 74 |. <.".v.|..0.exit|
|000049e0| 00 18 38 00 00 14 00 18 | 76 00 1c 00 06 00 2d 2d |..8.....|v.....--|
|000049f0| 2d 20 73 61 76 65 20 66 | 69 65 6c 64 20 64 65 66 |- save f|ield def|
|00004a00| 69 6e 69 74 69 6f 6e 73 | 00 18 0b 00 4c 01 e4 04 |initions|....L...|
|00004a10| a3 00 0b 00 be 01 0e 00 | 01 00 f3 00 12 00 4c 01 |........|......L.|
|00004a20| 76 00 1a 00 30 00 77 68 | 65 72 65 20 66 69 65 6c |v...0.wh|ere fiel|
|00004a30| 64 20 69 73 20 69 6e 20 | 72 65 63 6f 72 64 00 18 |d is in |record..|
|00004a40| 0b 00 fa 00 0b 00 be 01 | 0e 00 01 00 f3 00 12 00 |........|........|
|00004a50| fa 00 76 00 19 00 30 00 | 64 65 63 69 6d 61 6c 20 |..v...0.|decimal |
|00004a60| 70 6c 61 63 65 73 20 28 | 69 66 20 61 6e 79 29 65 |places (|if any)e|
|00004a70| 00 18 0b 00 11 02 0b 00 | be 01 0e 00 01 00 f3 00 |........|........|
|00004a80| 12 00 56 01 76 00 11 00 | 30 00 6c 65 6e 67 74 68 |..V.v...|0.length|
|00004a90| 20 6f 66 20 66 69 65 6c | 64 28 00 18 0b 18 99 01 | of fiel|d(......|
|00004aa0| 0b 00 be 01 0e 00 01 00 | f3 00 12 00 5e 01 76 00 |........|....^.v.|
|00004ab0| 1b 00 30 00 66 69 65 6c | 64 20 74 79 70 65 20 43 |..0.fiel|d type C|
|00004ac0| 2c 20 4e 2c 20 4c 2c 20 | 4d 20 65 74 63 00 00 18 |, N, L, |M etc...|
|00004ad0| 0b 18 06 02 0b 00 be 01 | 0e 00 01 00 f3 00 12 00 |........|........|
|00004ae0| 67 01 76 00 0c 00 30 00 | 66 69 65 6c 64 20 6e 61 |g.v...0.|field na|
|00004af0| 6d 65 00 00 00 18 76 00 | 16 00 06 00 2d 2d 2d 20 |me....v.|....--- |
|00004b00| 62 75 6d 70 20 75 70 20 | 63 6f 75 6e 74 65 72 73 |bump up |counters|
|00004b10| 00 18 0b 00 4c 01 0b 00 | 11 02 a3 00 0c 00 4c 01 |....L...|......L.|
|00004b20| 76 00 13 00 30 00 70 6f | 70 20 72 65 63 6f 72 64 |v...0.po|p record|
|00004b30| 20 6f 66 66 73 65 74 20 | 00 18 0b 00 be 01 e4 04 | offset |........|
|00004b40| a3 00 0c 00 be 01 76 00 | 13 00 30 00 70 6f 70 20 |......v.|..0.pop |
|00004b50| 66 69 65 6c 64 20 63 6f | 75 6e 74 65 72 65 00 10 |field co|untere..|
|00004b60| 00 08 4d 00 ff ff 01 04 | 76 00 07 00 08 00 66 69 |..M.....|v.....fi|
|00004b70| 65 6c 64 00 00 00 00 08 | 76 00 28 00 02 00 2d 2d |eld.....|v.(...--|
|00004b80| 2d 20 63 6f 75 6e 74 20 | 75 70 20 6e 75 6d 62 65 |- count |up numbe|
|00004b90| 72 20 6f 66 20 66 69 65 | 6c 64 73 20 26 20 73 65 |r of fie|lds & se|
|00004ba0| 74 20 69 74 00 08 0b 00 | be 01 e4 00 a6 00 45 00 |t it....|......E.|
|00004bb0| 94 0b e4 04 f9 00 0c 00 | 2f 02 76 00 1c 00 30 00 |........|/.v...0.|
|00004bc0| 69 6e 20 63 61 73 65 20 | 66 69 72 73 74 20 66 69 |in case |first fi|
|00004bd0| 65 6c 64 20 69 73 20 62 | 61 64 00 08 0b 00 2f 02 |eld is b|ad..../.|
|00004be0| e4 00 a6 00 45 00 ca 0b | 0b 00 be 01 0c 00 2f 02 |....E...|....../.|
|00004bf0| 76 00 1c 00 30 00 69 66 | 20 6e 6f 20 65 72 72 6f |v...0.if| no erro|
|00004c00| 72 73 20 73 65 74 20 66 | 6c 64 20 63 6f 75 6e 74 |rs set f|ld count|
|00004c10| 00 08 0b 00 2f 02 e4 04 | f7 00 e4 00 0e 00 01 00 |..../...|........|
|00004c20| f3 00 12 00 fa 00 76 00 | 18 00 30 00 2d 31 20 74 |......v.|..0.-1 t|
|00004c30| 6f 20 6f 66 66 73 65 74 | 20 66 6f 72 20 63 6f 75 |o offset| for cou|
|00004c40| 6e 74 00 08 0b 00 40 01 | e4 04 a3 00 e4 00 0e 00 |nt....@.|........|
|00004c50| 01 00 f3 00 12 00 40 01 | 76 00 0e 00 30 00 73 65 |......@.|v...0.se|
|00004c60| 74 20 68 65 61 64 73 69 | 7a 65 00 08 0b 00 4c 01 |t headsi|ze....L.|
|00004c70| e4 00 0e 00 01 00 f3 00 | 12 00 35 01 76 00 0d 00 |........|..5.v...|
|00004c80| 30 00 73 65 74 20 72 65 | 63 73 69 7a 65 65 00 00 |0.set re|csizee..|
|00004c90| 00 08 76 00 13 00 02 00 | 2d 2d 2d 20 65 72 72 6f |..v.....|--- erro|
|00004ca0| 72 20 68 61 6e 64 6c 65 | 72 65 00 08 0b 00 98 00 |r handle|re......|
|00004cb0| 24 00 01 00 c9 00 76 00 | 11 00 30 00 73 65 74 20 |$.....v.|..0.set |
|00004cc0| 65 72 72 6f 72 20 6c 65 | 76 65 6c 7a 00 04 00 00 |error le|velz....|
|00004cd0| 39 00 09 00 08 00 ff ff | ff ff ff ff ff ff 6a 00 |9.......|......j.|
|00004ce0| 00 00 03 00 fd | |..... | |
+--------+-------------------------+-------------------------+--------+--------+